com.facebook.presto.spi.ConnectorSplitSource Java Examples
The following examples show how to use
com.facebook.presto.spi.ConnectorSplitSource.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: KinesisSplitManager.java From presto-kinesis with Apache License 2.0 | 6 votes |
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout, ConnectorSplitManager.SplitSchedulingStrategy splitSchedulingStrategy) { KinesisTableLayoutHandle kinesislayout = handleResolver.convertLayout(layout); KinesisTableHandle kinesisTableHandle = kinesislayout.getTable(); InternalStreamDescription desc = this.getStreamDescription(kinesisTableHandle.getStreamName()); ImmutableList.Builder<ConnectorSplit> builder = ImmutableList.builder(); for (Shard shard : desc.getShards()) { KinesisSplit split = new KinesisSplit(connectorId, kinesisTableHandle.getStreamName(), kinesisTableHandle.getMessageDataFormat(), shard.getShardId(), shard.getSequenceNumberRange().getStartingSequenceNumber(), shard.getSequenceNumberRange().getEndingSequenceNumber()); builder.add(split); } return new FixedSplitSource(builder.build()); }
Example #2
Source File: ElasticsearchSplitManager.java From presto-connectors with Apache License 2.0 | 5 votes |
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingContext splitSchedulingContext ) { SplitSchedulingStrategy splitSchedulingStrategy = splitSchedulingContext.getSplitSchedulingStrategy(); ElasticsearchTableLayoutHandle layoutHandle = (ElasticsearchTableLayoutHandle) layout; ElasticsearchTableHandle tableHandle = layoutHandle.getTable(); // // Call out to our client to retrieve all tablet split metadata using the row ID domain and the secondary index List<ElasticsearchSplit> tabletSplits = client.getTabletSplits(session, tableHandle, layoutHandle, splitSchedulingStrategy); //tableHandle.getSerializerInstance() // Pack the tablet split metadata into a connector split return new FixedSplitSource(tabletSplits); }
Example #3
Source File: HbaseSplitManager.java From presto-connectors with Apache License 2.0 | 5 votes |
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingStrategy splitSchedulingStrategy) { HbaseTableLayoutHandle layoutHandle = (HbaseTableLayoutHandle) layout; HbaseTableHandle tableHandle = layoutHandle.getTable(); String schemaName = tableHandle.getSchema(); String tableName = tableHandle.getTable(); String rowIdName = tableHandle.getRowId(); // Get non-row ID column constraints List<HbaseColumnConstraint> constraints = getColumnConstraints(rowIdName, layoutHandle.getConstraint()); // Get the row domain column range Optional<Domain> rDom = getRangeDomain(rowIdName, layoutHandle.getConstraint()); // Call out to our client to retrieve all tablet split metadata using the row ID domain and the secondary index List<TabletSplitMetadata> tabletSplits = client.getTabletSplits(session, schemaName, tableName, rDom, constraints); //tableHandle.getSerializerInstance() // Pack the tablet split metadata into a connector split ImmutableList.Builder<ConnectorSplit> cSplits = ImmutableList.builder(); for (TabletSplitMetadata splitMetadata : tabletSplits) { HbaseSplit split = new HbaseSplit( connectorId, schemaName, tableName, rowIdName, splitMetadata, constraints, tableHandle.getScanAuthorizations()); cSplits.add(split); } return new FixedSplitSource(cSplits.build()); }
Example #4
Source File: KuduSplitManager.java From presto-kudu with Apache License 2.0 | 5 votes |
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingStrategy splitSchedulingStrategy) { KuduTableLayoutHandle layoutHandle = (KuduTableLayoutHandle) layout; List<KuduSplit> splits = clientSession.buildKuduSplits(layoutHandle); return new FixedSplitSource(splits); }