本文整理汇总了Java中com.facebook.presto.spi.ConnectorSession类的典型用法代码示例。如果您正苦于以下问题:Java ConnectorSession类的具体用法?Java ConnectorSession怎么用?Java ConnectorSession使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ConnectorSession类属于com.facebook.presto.spi包,在下文中一共展示了ConnectorSession类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getRecordSet
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public RecordSet getRecordSet(
ConnectorTransactionHandle transaction,
ConnectorSession session,
ConnectorSplit split,
List<? extends ColumnHandle> columns
) {
EthereumSplit ethereumSplit = convertSplit(split);
ImmutableList.Builder<EthereumColumnHandle> handleBuilder = ImmutableList.builder();
for (ColumnHandle handle : columns) {
EthereumColumnHandle columnHandle = convertColumnHandle(handle);
handleBuilder.add(columnHandle);
}
return new EthereumRecordSet(web3j, handleBuilder.build(), ethereumSplit);
}
开发者ID:xiaoyao1991,项目名称:presto-ethereum,代码行数:19,代码来源:EthereumRecordSetProvider.java
示例2: createPageSource
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorPageSource createPageSource(ConnectorTransactionHandle transactionHandle, ConnectorSession session,
ConnectorSplit split, List<ColumnHandle> columns)
{
List<HDFSColumnHandle> hdfsColumns = columns.stream()
.map(col -> (HDFSColumnHandle) col)
.collect(Collectors.toList());
HDFSSplit hdfsSplit = checkType(split, HDFSSplit.class, "hdfs split");
Path path = new Path(hdfsSplit.getPath());
Optional<ConnectorPageSource> pageSource = createHDFSPageSource(
path,
hdfsSplit.getStart(),
hdfsSplit.getLen(),
hdfsColumns);
if (pageSource.isPresent()) {
return pageSource.get();
}
throw new RuntimeException("Could not find a file reader for split " + hdfsSplit);
}
开发者ID:dbiir,项目名称:paraflow,代码行数:21,代码来源:HDFSPageSourceProvider.java
示例3: createTable
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public void createTable(ConnectorSession session, ConnectorTableMetadata tableMetadata)
{
log.debug("Create table " + tableMetadata.getTable().getTableName());
String tblName = tableMetadata.getTable().getTableName();
String dbName = tableMetadata.getTable().getSchemaName();
List<ColumnMetadata> columns = tableMetadata.getColumns();
List<String> columnName = new LinkedList<>();
List<String> dataType = new LinkedList<>();
for (ColumnMetadata column : columns) {
columnName.add(column.getName());
dataType.add(column.getType().getDisplayName());
}
String userName = "";
String storageFormatName = "";
metaClient.createRegularTable(dbName, tblName, userName, storageFormatName, columnName, dataType);
}
开发者ID:dbiir,项目名称:paraflow,代码行数:18,代码来源:MetaDataQuery.java
示例4: listTableColumns
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public Map<SchemaTableName, List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
{
requireNonNull(prefix, "prefix is null");
ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
List<SchemaTableName> tableNames = prefix.getSchemaName() == null ? listTables(session, null) : ImmutableList.of(new SchemaTableName(prefix.getSchemaName(), prefix.getTableName()));
for (SchemaTableName tableName : tableNames) {
ConnectorTableMetadata tableMetadata = getTableMetadata(tableName);
// table can disappear during listing operation
if (tableMetadata != null) {
columns.put(tableName, tableMetadata.getColumns());
}
}
return columns.build();
}
开发者ID:xiaoyao1991,项目名称:presto-ethereum,代码行数:19,代码来源:EthereumMetadata.java
示例5: getSplits
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorSplitSource getSplits(ConnectorTransactionHandle handle, ConnectorSession session, ConnectorTableLayoutHandle layout)
{
log.info("INFORMATION: AmpoolSplitManager getSplits() called.");
AmpoolTableLayoutHandle layoutHandle = (AmpoolTableLayoutHandle) layout;
AmpoolTableHandle tableHandle = layoutHandle.getTable();
AmpoolTable table = new AmpoolTable(ampoolClient, tableHandle.getTableName());
// this can happen if table is removed during a query
checkState(table.getColumnsMetadata() != null, "Table %s.%s no longer exists", tableHandle.getSchemaName(), tableHandle.getTableName());
List<ConnectorSplit> splits = new ArrayList<>();
// TODO Pass here bucket id
splits.add(new AmpoolSplit(connectorId, tableHandle.getSchemaName(), tableHandle.getTableName(),"" ,HostAddress.fromParts("localhost",0)));
Collections.shuffle(splits);
return new FixedSplitSource(splits);
}
开发者ID:ampool,项目名称:monarch,代码行数:19,代码来源:AmpoolSplitManager.java
示例6: getSplits
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout)
{
KuduTableLayoutHandle layoutHandle = checkType(layout, KuduTableLayoutHandle.class, "layout");
KuduTableHandle tableHandle = layoutHandle.getTable();
KuduClient kuduClient = kuduClientManager.getClient();
List<KuduScanToken> tokens = kuduClientManager.newScanTokenBuilder(kuduClient, tableHandle.getSchemaTableName().getTableName()).build();
TupleDomain<KuduColumnHandle> effectivePredicate = layoutHandle.getConstraint()
.transform(handle -> checkType(handle, KuduColumnHandle.class, "columnHandle"));
ImmutableList.Builder<ConnectorSplit> builder = ImmutableList.builder();
for (int i = 0; i < tokens.size(); i++) {
// nodeManager.getWorkerNodes()
List<HostAddress> hostAddresses = nodeManager.getWorkerNodes().stream()
.map(node -> node.getHostAndPort()).collect(Collectors.toList());
ConnectorSplit split = new KuduSplit(hostAddresses, tableHandle.getSchemaTableName(), i, effectivePredicate);
builder.add(split);
}
kuduClientManager.close(kuduClient);
return new FixedSplitSource(builder.build());
}
开发者ID:trackingio,项目名称:presto-kudu,代码行数:26,代码来源:KuduSplitManager.java
示例7: listTableColumns
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public Map<SchemaTableName, List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
{
requireNonNull(prefix, "prefix is null");
KuduClient kuduClient = kuduClientManager.getClient();
ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
for (SchemaTableName tableName : listTables(session, prefix)) {
KuduTableHandle tableHandle = kuduTables.getTables(kuduClient).get(tableName);
if (tableHandle != null) {
columns.put(tableName, kuduTables.getColumns(kuduClient, tableHandle));
}
}
kuduClientManager.close(kuduClient);
return columns.build();
}
开发者ID:trackingio,项目名称:presto-kudu,代码行数:17,代码来源:KuduMetadata.java
示例8: getRecordSet
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
/**
* @
*/
public RecordSet getRecordSet(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorSplit split, List<? extends ColumnHandle> columns)
{
requireNonNull(split, "split is null");
KuduSplit kuduSplit = checkType(split, KuduSplit.class, "split");
ImmutableList.Builder<KuduColumnHandle> handles = ImmutableList.builder();
for (ColumnHandle handle : columns) {
handles.add(checkType(handle, KuduColumnHandle.class, "handle"));
}
return new KuduRecordSet(kuduTable, kuduClientManager, kuduSplit, handles.build());
}
开发者ID:trackingio,项目名称:presto-kudu,代码行数:17,代码来源:KuduRecordSetProvider.java
示例9: addColumn
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public void addColumn(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnMetadata column)
{
if (!allowAddColumn) {
throw new PrestoException(PERMISSION_DENIED, "Adding Columns is disabled in this Hive catalog");
}
HiveTableHandle handle = checkType(tableHandle, HiveTableHandle.class, "tableHandle");
Optional<Table> tableMetadata = metastore.getTable(handle.getSchemaName(), handle.getTableName());
if (!tableMetadata.isPresent()) {
throw new TableNotFoundException(handle.getSchemaTableName());
}
Table table = tableMetadata.get();
StorageDescriptor sd = table.getSd();
ImmutableList.Builder<FieldSchema> columns = ImmutableList.builder();
columns.addAll(sd.getCols());
columns.add(new FieldSchema(column.getName(), toHiveType(column.getType()).getHiveTypeName(), column.getComment()));
sd.setCols(columns.build());
table.setSd(sd);
metastore.alterTable(handle.getSchemaName(), handle.getTableName(), table);
}
开发者ID:y-lan,项目名称:presto,代码行数:24,代码来源:HiveMetadata.java
示例10: generateProjectMethod
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
private void generateProjectMethod(ClassDefinition classDefinition, CallSiteBinder callSiteBinder, CachedInstanceBinder cachedInstanceBinder, String methodName, RowExpression projection)
{
Parameter session = arg("session", ConnectorSession.class);
Parameter cursor = arg("cursor", RecordCursor.class);
Parameter output = arg("output", BlockBuilder.class);
MethodDefinition method = classDefinition.declareMethod(a(PUBLIC), methodName, type(void.class), session, cursor, output);
method.comment("Projection: %s", projection.toString());
Scope scope = method.getScope();
Variable wasNullVariable = scope.declareVariable(type(boolean.class), "wasNull");
BytecodeBlock body = method.getBody()
.comment("boolean wasNull = false;")
.putVariable(wasNullVariable, false);
BytecodeExpressionVisitor visitor = new BytecodeExpressionVisitor(callSiteBinder, cachedInstanceBinder, fieldReferenceCompiler(cursor, wasNullVariable), metadata.getFunctionRegistry());
body.getVariable(output)
.comment("evaluate projection: " + projection.toString())
.append(projection.accept(visitor, scope))
.append(generateWrite(callSiteBinder, scope, wasNullVariable, projection.getType()))
.ret();
}
开发者ID:y-lan,项目名称:presto,代码行数:25,代码来源:CursorProcessorCompiler.java
示例11: cursor
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public RecordCursor cursor(ConnectorTransactionHandle transactionHandle, ConnectorSession session, TupleDomain<Integer> constraint)
{
Builder table = InMemoryRecordSet.builder(QUERY_TABLE);
for (QueryInfo queryInfo : queryManager.getAllQueryInfo()) {
QueryStats queryStats = queryInfo.getQueryStats();
table.addRow(
nodeId,
queryInfo.getQueryId().toString(),
queryInfo.getState().toString(),
queryInfo.getSession().getUser(),
queryInfo.getSession().getSource().orElse(null),
queryInfo.getQuery(),
toMillis(queryStats.getQueuedTime()),
toMillis(queryStats.getAnalysisTime()),
toMillis(queryStats.getDistributedPlanningTime()),
toTimeStamp(queryStats.getCreateTime()),
toTimeStamp(queryStats.getExecutionStartTime()),
toTimeStamp(queryStats.getLastHeartbeat()),
toTimeStamp(queryStats.getEndTime()));
}
return table.build().cursor();
}
开发者ID:y-lan,项目名称:presto,代码行数:26,代码来源:QuerySystemTable.java
示例12: listTableColumns
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public Map<SchemaTableName, List<ColumnMetadata>> listTableColumns(ConnectorSession session, SchemaTablePrefix prefix)
{
requireNonNull(prefix, "prefix is null");
if (prefix.getSchemaName() != null && !prefix.getSchemaName().equals(SCHEMA_NAME)) {
return ImmutableMap.of();
}
ImmutableMap.Builder<SchemaTableName, List<ColumnMetadata>> columns = ImmutableMap.builder();
List<SchemaTableName> tableNames;
if (prefix.getTableName() == null) {
tableNames = listTables(session, prefix.getSchemaName());
}
else {
tableNames = ImmutableList.of(new SchemaTableName(prefix.getSchemaName(), prefix.getTableName()));
}
for (SchemaTableName tableName : tableNames) {
JmxTableHandle tableHandle = getTableHandle(session, tableName);
columns.put(tableName, tableHandle.getTableMetadata().getColumns());
}
return columns.build();
}
开发者ID:y-lan,项目名称:presto,代码行数:25,代码来源:JmxMetadata.java
示例13: getViews
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public Map<SchemaTableName, ConnectorViewDefinition> getViews(ConnectorSession session, SchemaTablePrefix prefix)
{
ImmutableMap.Builder<SchemaTableName, ConnectorViewDefinition> views = ImmutableMap.builder();
List<SchemaTableName> tableNames;
if (prefix.getTableName() != null) {
tableNames = ImmutableList.of(new SchemaTableName(prefix.getSchemaName(), prefix.getTableName()));
}
else {
tableNames = listViews(session, prefix.getSchemaName());
}
for (SchemaTableName schemaTableName : tableNames) {
Optional<Table> table = metastore.getTable(schemaTableName.getSchemaName(), schemaTableName.getTableName());
if (table.isPresent() && HiveUtil.isPrestoView(table.get())) {
views.put(schemaTableName, new ConnectorViewDefinition(
schemaTableName,
Optional.ofNullable(table.get().getOwner()),
decodeViewData(table.get().getViewOriginalText())));
}
}
return views.build();
}
开发者ID:y-lan,项目名称:presto,代码行数:25,代码来源:HiveMetadata.java
示例14: getObjectValue
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public Object getObjectValue(ConnectorSession session, Block block, int position)
{
if (block.isNull(position)) {
return null;
}
Block arrayBlock = getObject(block, position);
List<Object> values = new ArrayList<>(arrayBlock.getPositionCount());
for (int i = 0; i < arrayBlock.getPositionCount(); i++) {
values.add(fields.get(i).getType().getObjectValue(session, arrayBlock, i));
}
return Collections.unmodifiableList(values);
}
开发者ID:y-lan,项目名称:presto,代码行数:17,代码来源:RowType.java
示例15: createPageSink
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorPageSink createPageSink(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorInsertTableHandle tableHandle)
{
RaptorInsertTableHandle handle = checkType(tableHandle, RaptorInsertTableHandle.class, "tableHandle");
return new RaptorPageSink(
pageSorter,
storageManager,
shardInfoCodec,
handle.getTransactionId(),
toColumnIds(handle.getColumnHandles()),
handle.getColumnTypes(),
Optional.empty(),
toColumnIds(handle.getSortColumnHandles()),
handle.getSortOrders(),
maxBufferSize);
}
开发者ID:y-lan,项目名称:presto,代码行数:17,代码来源:RaptorPageSinkProvider.java
示例16: getTableHandle
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public RedisTableHandle getTableHandle(ConnectorSession session, SchemaTableName schemaTableName)
{
RedisTableDescription table = getDefinedTables().get(schemaTableName);
if (table == null) {
return null;
}
// check if keys are supplied in a zset
// via the table description doc
String keyName = null;
if (table.getKey() != null) {
keyName = table.getKey().getName();
}
return new RedisTableHandle(
connectorId,
schemaTableName.getSchemaName(),
schemaTableName.getTableName(),
getDataFormat(table.getKey()),
getDataFormat(table.getValue()),
keyName);
}
开发者ID:y-lan,项目名称:presto,代码行数:24,代码来源:RedisMetadata.java
示例17: renameTable
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public void renameTable(ConnectorSession session, ConnectorTableHandle tableHandle, SchemaTableName newTableName)
{
BlackHoleTableHandle oldTableHandle = checkType(tableHandle, BlackHoleTableHandle.class, "tableHandle");
BlackHoleTableHandle newTableHandle = new BlackHoleTableHandle(
oldTableHandle.getSchemaName(),
newTableName.getTableName(),
oldTableHandle.getColumnHandles(),
oldTableHandle.getSplitCount(),
oldTableHandle.getPagesPerSplit(),
oldTableHandle.getRowsPerPage(),
oldTableHandle.getFieldsLength()
);
tables.remove(oldTableHandle.getTableName());
tables.put(newTableName.getTableName(), newTableHandle);
}
开发者ID:y-lan,项目名称:presto,代码行数:17,代码来源:BlackHoleMetadata.java
示例18: mapKeyToObject
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
private static Object mapKeyToObject(ConnectorSession session, String jsonKey, Type type)
{
BlockBuilder blockBuilder;
if (type instanceof FixedWidthType) {
blockBuilder = type.createBlockBuilder(new BlockBuilderStatus(), 1);
}
else {
blockBuilder = type.createBlockBuilder(new BlockBuilderStatus(), 1, jsonKey.length());
}
if (type.getJavaType() == boolean.class) {
type.writeBoolean(blockBuilder, Boolean.parseBoolean(jsonKey));
}
else if (type.getJavaType() == long.class) {
type.writeLong(blockBuilder, Long.parseLong(jsonKey));
}
else if (type.getJavaType() == double.class) {
type.writeDouble(blockBuilder, Double.parseDouble(jsonKey));
}
else if (type.getJavaType() == Slice.class) {
type.writeSlice(blockBuilder, Slices.utf8Slice(jsonKey));
}
return type.getObjectValue(session, blockBuilder.build(), 0);
}
开发者ID:y-lan,项目名称:presto,代码行数:24,代码来源:TypeJsonUtils.java
示例19: createPageSource
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorPageSource createPageSource(
ConnectorTransactionHandle transactionHandle,
ConnectorSession session,
ConnectorSplit split,
List<ColumnHandle> columns)
{
BlackHoleSplit blackHoleSplit = checkType(split, BlackHoleSplit.class, "BlackHoleSplit");
ImmutableList.Builder<Type> builder = ImmutableList.builder();
for (ColumnHandle column : columns) {
builder.add((checkType(column, BlackHoleColumnHandle.class, "BlackHoleColumnHandle")).getColumnType());
}
List<Type> types = builder.build();
return new FixedPageSource(Iterables.limit(
Iterables.cycle(generateZeroPage(types, blackHoleSplit.getRowsPerPage(), blackHoleSplit.getFieldsLength())),
blackHoleSplit.getPagesCount()));
}
开发者ID:y-lan,项目名称:presto,代码行数:21,代码来源:BlackHolePageSourceProvider.java
示例20: getSplits
import com.facebook.presto.spi.ConnectorSession; //导入依赖的package包/类
@Override
public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout)
{
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());
}
开发者ID:qubole,项目名称:presto-kinesis,代码行数:22,代码来源:KinesisSplitManager.java
注:本文中的com.facebook.presto.spi.ConnectorSession类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论