• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RecordBatch类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.drill.exec.record.RecordBatch的典型用法代码示例。如果您正苦于以下问题:Java RecordBatch类的具体用法?Java RecordBatch怎么用?Java RecordBatch使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RecordBatch类属于org.apache.drill.exec.record包,在下文中一共展示了RecordBatch类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: ExternalSortBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public ExternalSortBatch(ExternalSort popConfig, FragmentContext context, RecordBatch incoming) throws OutOfMemoryException {
  super(popConfig, context, true);
  this.incoming = incoming;
  DrillConfig config = context.getConfig();
  Configuration conf = new Configuration();
  conf.set("fs.default.name", config.getString(ExecConstants.EXTERNAL_SORT_SPILL_FILESYSTEM));
  try {
    this.fs = FileSystem.get(conf);
  } catch (IOException e) {
    throw new RuntimeException(e);
  }
  SPILL_BATCH_GROUP_SIZE = config.getInt(ExecConstants.EXTERNAL_SORT_SPILL_GROUP_SIZE);
  SPILL_THRESHOLD = config.getInt(ExecConstants.EXTERNAL_SORT_SPILL_THRESHOLD);
  dirs = Iterators.cycle(config.getStringList(ExecConstants.EXTERNAL_SORT_SPILL_DIRS));
  copierAllocator = oContext.getAllocator().getChildAllocator(
      context, PriorityQueueCopier.INITIAL_ALLOCATION, PriorityQueueCopier.MAX_ALLOCATION, true);
  FragmentHandle handle = context.getHandle();
  fileName = String.format("%s/major_fragment_%s/minor_fragment_%s/operator_%s", QueryIdHelper.getQueryId(handle.getQueryId()),
      handle.getMajorFragmentId(), handle.getMinorFragmentId(), popConfig.getOperatorId());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:21,代码来源:ExternalSortBatch.java


示例2: InternalBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public InternalBatch(RecordBatch incoming, VectorWrapper[] ignoreWrappers){
  switch(incoming.getSchema().getSelectionVectorMode()){
  case FOUR_BYTE:
    this.sv4 = incoming.getSelectionVector4().createNewWrapperCurrent();
    this.sv2 = null;
    break;
  case TWO_BYTE:
    this.sv4 = null;
    this.sv2 = incoming.getSelectionVector2().clone();
    break;
  default:
    this.sv4 = null;
    this.sv2 = null;
  }
  this.schema = incoming.getSchema();
  this.container = VectorContainer.getTransferClone(incoming, ignoreWrappers);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:18,代码来源:InternalBatch.java


示例3: getGenerated4Copier

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public static Copier getGenerated4Copier(RecordBatch batch, FragmentContext context, BufferAllocator allocator, VectorContainer container, RecordBatch outgoing, SchemaChangeCallBack callBack) throws SchemaChangeException{

    for(VectorWrapper<?> vv : batch){
      ValueVector v = vv.getValueVectors()[0];
      v.makeTransferPair(container.addOrGet(v.getField(), callBack));
    }

    try {
      final CodeGenerator<Copier> cg = CodeGenerator.get(Copier.TEMPLATE_DEFINITION4, context.getFunctionRegistry());
      CopyUtil.generateCopies(cg.getRoot(), batch, true);
      Copier copier = context.getImplementationClass(cg);
      copier.setupRemover(context, batch, outgoing);

      return copier;
    } catch (ClassTransformationException | IOException e) {
      throw new SchemaChangeException("Failure while attempting to load generated class", e);
    }
  }
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:19,代码来源:RemovingRecordBatch.java


示例4: getRootExec

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
/** Create RootExec and its children (RecordBatches) for given FragmentRoot */
private RootExec getRootExec(final FragmentRoot root, final FragmentContext context) throws ExecutionSetupException {
  final List<RecordBatch> childRecordBatches = getChildren(root, context);

  if (context.isImpersonationEnabled()) {
    final UserGroupInformation proxyUgi = ImpersonationUtil.createProxyUgi(root.getUserName(), context.getQueryUserName());
    try {
      return proxyUgi.doAs(new PrivilegedExceptionAction<RootExec>() {
        @Override
        public RootExec run() throws Exception {
          return ((RootCreator<PhysicalOperator>) getOpCreator(root, context)).getRoot(context, root, childRecordBatches);
        }
      });
    } catch (InterruptedException | IOException e) {
      final String errMsg = String.format("Failed to create RootExec for operator with id '%d'", root.getOperatorId());
      logger.error(errMsg, e);
      throw new ExecutionSetupException(errMsg, e);
    }
  } else {
    return ((RootCreator<PhysicalOperator>) getOpCreator(root, context)).getRoot(context, root, childRecordBatches);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:23,代码来源:ImplCreator.java


示例5: getBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public ScanBatch getBatch(FragmentContext context, HBaseSubScan subScan, List<RecordBatch> children)
    throws ExecutionSetupException {
  Preconditions.checkArgument(children.isEmpty());
  List<RecordReader> readers = Lists.newArrayList();
  List<SchemaPath> columns = null;
  for(HBaseSubScan.HBaseSubScanSpec scanSpec : subScan.getRegionScanSpecList()){
    try {
      if ((columns = subScan.getColumns())==null) {
        columns = GroupScan.ALL_COLUMNS;
      }
      readers.add(new HBaseRecordReader(subScan.getStorageConfig().getHBaseConf(), scanSpec, columns, context));
    } catch (Exception e1) {
      throw new ExecutionSetupException(e1);
    }
  }
  return new ScanBatch(subScan, context, readers.iterator());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:19,代码来源:HBaseScanBatchCreator.java


示例6: RecordBatchData

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public RecordBatchData(VectorAccessible batch) {
  List<ValueVector> vectors = Lists.newArrayList();
  recordCount = batch.getRecordCount();

  if (batch instanceof RecordBatch && batch.getSchema().getSelectionVectorMode() == SelectionVectorMode.TWO_BYTE) {
    this.sv2 = ((RecordBatch)batch).getSelectionVector2().clone();
  } else {
    this.sv2 = null;
  }

  for (VectorWrapper<?> v : batch) {
    if (v.isHyper()) {
      throw new UnsupportedOperationException("Record batch data can't be created based on a hyper batch.");
    }
    TransferPair tp = v.getValueVector().getTransferPair();
    tp.transfer();
    vectors.add(tp.getTo());
  }

  container.addCollection(vectors);
  container.setRecordCount(recordCount);
  container.buildSchema(batch.getSchema().getSelectionVectorMode());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:24,代码来源:RecordBatchData.java


示例7: setup

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public final void setup(FragmentContext context, VectorAccessible incoming, RecordBatch outgoing, List<TransferPair> transfers,
                        VectorContainer partitionVectors, int partitions, SchemaPath outputField)  throws SchemaChangeException{

  this.svMode = incoming.getSchema().getSelectionVectorMode();
  this.outBatch = outgoing;
  this.outputField = outputField;
  partitionValues = (IntVector) outBatch.getValueAccessorById(IntVector.class, outBatch.getValueVectorId(outputField).getFieldIds()).getValueVector();
  switch(svMode){
  case FOUR_BYTE:
  case TWO_BYTE:
    throw new UnsupportedOperationException("Selection vector not supported");
  }
  this.transfers = ImmutableList.copyOf(transfers);
  this.partitions = partitions;
  doSetup(context, incoming, outgoing, partitionVectors);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:18,代码来源:OrderedPartitionProjectorTemplate.java


示例8: TraceRecordBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public TraceRecordBatch(Trace pop, RecordBatch incoming, FragmentContext context) throws ExecutionSetupException {
  super(pop, context, incoming);
  this.traceTag = pop.traceTag;
  logLocation = context.getConfig().getString(ExecConstants.TRACE_DUMP_DIRECTORY);

  String fileName = getFileName();

  /* Create the log file we will dump to and initialize the file descriptors */
  try {
    Configuration conf = new Configuration();
    conf.set(FileSystem.FS_DEFAULT_NAME_KEY, context.getConfig().getString(ExecConstants.TRACE_DUMP_FILESYSTEM));
    FileSystem fs = FileSystem.get(conf);

    /* create the file */
    fos = fs.create(new Path(fileName));
  } catch (IOException e) {
      throw new ExecutionSetupException("Unable to create file: " + fileName + " check permissions or if directory exists", e);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:20,代码来源:TraceRecordBatch.java


示例9: MergeJoinBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
protected MergeJoinBatch(MergeJoinPOP popConfig, FragmentContext context, RecordBatch left, RecordBatch right) throws OutOfMemoryException {
  super(popConfig, context, true);

  if (popConfig.getConditions().size() == 0) {
    throw new UnsupportedOperationException("Merge Join currently does not support cartesian join.  This join operator was configured with 0 conditions");
  }
  this.left = left;
  this.right = right;
  this.joinType = popConfig.getJoinType();
  this.status = new JoinStatus(left, right, this);
  this.batchBuilder = new MergeJoinBatchBuilder(oContext.getAllocator(), status);
  this.conditions = popConfig.getConditions();

  JoinComparator comparator = JoinComparator.NONE;
  for (JoinCondition condition : conditions) {
    comparator = JoinUtils.checkAndSetComparison(condition, comparator);
  }
  assert comparator != JoinComparator.NONE;
  areNullsEqual = (comparator == JoinComparator.IS_NOT_DISTINCT_FROM);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:21,代码来源:MergeJoinBatch.java


示例10: getRoot

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public RootExec getRoot(FragmentContext context, Screen config, List<RecordBatch> children)
    throws ExecutionSetupException {
  Preconditions.checkNotNull(children);
  Preconditions.checkArgument(children.size() == 1);
  return new ScreenRoot(context, children.iterator().next(), config);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:8,代码来源:ScreenCreator.java


示例11: getBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public ScanBatch getBatch(FragmentContext context, HiveSubScan config, List<RecordBatch> children)
    throws ExecutionSetupException {
  List<RecordReader> readers = Lists.newArrayList();
  Table table = config.getTable();
  List<InputSplit> splits = config.getInputSplits();
  List<Partition> partitions = config.getPartitions();
  boolean hasPartitions = (partitions != null && partitions.size() > 0);
  int i = 0;

  // Native hive text record reader doesn't handle all types currently. For now use HiveRecordReader which uses
  // Hive InputFormat and SerDe classes to read the data.
  //if (table.getSd().getInputFormat().equals(TextInputFormat.class.getCanonicalName()) &&
  //        table.getSd().getSerdeInfo().getSerializationLib().equals(LazySimpleSerDe.class.getCanonicalName()) &&
  //        config.getColumns() != null) {
  //  for (InputSplit split : splits) {
  //    readers.add(new HiveTextRecordReader(table,
  //        (hasPartitions ? partitions.get(i++) : null),
  //        split, config.getColumns(), context));
  //  }
  //} else {
    for (InputSplit split : splits) {
      readers.add(new HiveRecordReader(table,
          (hasPartitions ? partitions.get(i++) : null),
          split, config.getColumns(), context, config.getHiveReadEntry().hiveConfigOverride));
    }
  //}

  // If there are no readers created (which is possible when the table is empty), create an empty RecordReader to
  // output the schema
  if (readers.size() == 0) {
    readers.add(new HiveRecordReader(table, null, null, config.getColumns(), context,
        config.getHiveReadEntry().hiveConfigOverride));
  }

  return new ScanBatch(config, context, readers.iterator());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:38,代码来源:HiveScanBatchCreator.java


示例12: add

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public void add(RecordBatch batch, boolean newSchema) throws SchemaChangeException {
  if (!schemas.isEmpty() && newSchema) {
    throw new SchemaChangeException("Currently, the sv4 builder doesn't support embedded types");
  }
  if (newSchema) {
    schemas.add(batch.getSchema());
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:9,代码来源:SelectionVector4Builder.java


示例13: setup

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public final void setup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing, List<TransferPair> transfers)  throws SchemaChangeException{

  this.svMode = incoming.getSchema().getSelectionVectorMode();
  switch (svMode) {
  case FOUR_BYTE:
    this.vector4 = incoming.getSelectionVector4();
    break;
  case TWO_BYTE:
    this.vector2 = incoming.getSelectionVector2();
    break;
  }
  this.transfers = ImmutableList.copyOf(transfers);
  doSetup(context, incoming, outgoing);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:16,代码来源:ProjectorTemplate.java


示例14: getBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public ScanBatch getBatch(final FragmentContext context, final SystemTableScan scan,
                            final List<RecordBatch> children)
  throws ExecutionSetupException {
  final SystemTable table = scan.getTable();
  final Iterator<Object> iterator = table.getIterator(context);
  final RecordReader reader = new PojoRecordReader(table.getPojoClass(), iterator);

  return new ScanBatch(scan, context, Collections.singleton(reader).iterator());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:12,代码来源:SystemTableBatchCreator.java


示例15: setup

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public void setup(FragmentContext context, RecordBatch incoming, RecordBatch outgoing, TransferPair[] transfers)
    throws SchemaChangeException {
  this.transfers = transfers;
  this.outgoingSelectionVector = outgoing.getSelectionVector4();
  this.incomingSelectionVector = incoming.getSelectionVector4();
  doSetup(context, incoming, outgoing);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:9,代码来源:FilterTemplate4.java


示例16: VectorRecordMaterializer

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public VectorRecordMaterializer(FragmentContext context, RecordBatch batch) {
    this.queryId = context.getHandle().getQueryId();
    this.batch = batch;
    BatchSchema schema = batch.getSchema();
    assert schema != null : "Schema must be defined.";

//    for (MaterializedField f : batch.getSchema()) {
//      logger.debug("New Field: {}", f);
//    }
  }
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:11,代码来源:VectorRecordMaterializer.java


示例17: getBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
@Override
public UnorderedReceiverBatch getBatch(FragmentContext context, UnorderedReceiver receiver, List<RecordBatch> children)
    throws ExecutionSetupException {
  assert children == null || children.isEmpty();
  IncomingBuffers bufHolder = context.getBuffers();
  assert bufHolder != null : "IncomingBuffers must be defined for any place a receiver is declared.";

  RawBatchBuffer[] buffers = bufHolder.getBuffers(receiver.getOppositeMajorFragmentId());
  assert buffers.length == 1;
  RawBatchBuffer buffer = buffers[0];
  return new UnorderedReceiverBatch(context, buffer, receiver);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:13,代码来源:UnorderedReceiverCreator.java


示例18: SingleSenderRootExec

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public SingleSenderRootExec(FragmentContext context, RecordBatch batch, SingleSender config) throws OutOfMemoryException {
  super(context, context.newOperatorContext(config, null, false), config);
  this.incoming = batch;
  assert incoming != null;
  handle = context.getHandle();
  recMajor = config.getOppositeMajorFragmentId();
  tunnel = context.getDataTunnel(config.getDestination());
  oppositeHandle = handle.toBuilder()
      .setMajorFragmentId(config.getOppositeMajorFragmentId())
      .setMinorFragmentId(config.getOppositeMinorFragmentId())
      .build();
  tunnel = context.getDataTunnel(config.getDestination());
  tunnel.setTestInjectionControls(injector, context.getExecutionControls(), logger);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:15,代码来源:SingleSenderCreator.java


示例19: LimitRecordBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public LimitRecordBatch(Limit popConfig, FragmentContext context, RecordBatch incoming)
    throws OutOfMemoryException {
  super(popConfig, context, incoming);
  outgoingSv = new SelectionVector2(oContext.getAllocator());
  recordsToSkip = popConfig.getFirst();
  noEndLimit = popConfig.getLast() == null;
  if(!noEndLimit) {
    recordsLeft = popConfig.getLast() - recordsToSkip;
  }
  skipBatch = false;
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:12,代码来源:LimitRecordBatch.java


示例20: getWriterBatch

import org.apache.drill.exec.record.RecordBatch; //导入依赖的package包/类
public CloseableRecordBatch getWriterBatch(FragmentContext context, RecordBatch incoming, EasyWriter writer)
    throws ExecutionSetupException {
  try {
    return new WriterRecordBatch(writer, incoming, context, getRecordWriter(context, writer));
  } catch(IOException e) {
    throw new ExecutionSetupException(String.format("Failed to create the WriterRecordBatch. %s", e.getMessage()), e);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:9,代码来源:EasyFormatPlugin.java



注:本文中的org.apache.drill.exec.record.RecordBatch类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LengthIndexedLine类代码示例发布时间:2022-05-23
下一篇:
Java HtmlAdaptorServer类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap