当前位置: 首页>>代码示例>>Java>>正文


Java SchemaPath.getSimplePath方法代码示例

本文整理汇总了Java中org.apache.drill.common.expression.SchemaPath.getSimplePath方法的典型用法代码示例。如果您正苦于以下问题:Java SchemaPath.getSimplePath方法的具体用法?Java SchemaPath.getSimplePath怎么用?Java SchemaPath.getSimplePath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.drill.common.expression.SchemaPath的用法示例。


在下文中一共展示了SchemaPath.getSimplePath方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: populatePartitionVectors

import org.apache.drill.common.expression.SchemaPath; //导入方法依赖的package包/类
@Override
public void populatePartitionVectors(ValueVector[] vectors, List<PartitionLocation> partitions,
                                     BitSet partitionColumnBitSet, Map<Integer, String> fieldNameMap) {
  int record = 0;
  for (PartitionLocation partitionLocation: partitions) {
    for (int partitionColumnIndex : BitSets.toIter(partitionColumnBitSet)) {
      SchemaPath column = SchemaPath.getSimplePath(fieldNameMap.get(partitionColumnIndex));
      ((ParquetGroupScan) scanRel.getGroupScan()).populatePruningVector(vectors[partitionColumnIndex], record, column,
          partitionLocation.getEntirePartitionLocation());
    }
    record++;
  }

  for (ValueVector v : vectors) {
    if (v == null) {
      continue;
    }
    v.getMutator().setValueCount(partitions.size());
  }

}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:22,代码来源:ParquetPartitionDescriptor.java

示例2: getOrCreateFamilyVector

import org.apache.drill.common.expression.SchemaPath; //导入方法依赖的package包/类
private MapVector getOrCreateFamilyVector(String familyName, boolean allocateOnCreate) {
  try {
    MapVector v = familyVectorMap.get(familyName);
    if(v == null) {
      SchemaPath column = SchemaPath.getSimplePath(familyName);
      MaterializedField field = MaterializedField.create(column, COLUMN_FAMILY_TYPE);
      v = outputMutator.addField(field, MapVector.class);
      if (allocateOnCreate) {
        v.allocateNew();
      }
      getColumns().add(column);
      familyVectorMap.put(familyName, v);
    }
    return v;
  } catch (SchemaChangeException e) {
    throw new DrillRuntimeException(e);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:19,代码来源:HBaseRecordReader.java

示例3: getIdIfValid

import org.apache.drill.common.expression.SchemaPath; //导入方法依赖的package包/类
@Override
public Integer getIdIfValid(String name) {
  SchemaPath schemaPath = SchemaPath.getSimplePath(name);
  int id = partitionColumns.indexOf(schemaPath);
  if (id == -1) {
    return null;
  }
  return id;
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:10,代码来源:ParquetPartitionDescriptor.java

示例4: getCopier

import org.apache.drill.common.expression.SchemaPath; //导入方法依赖的package包/类
/**
 * Creates a copier that does a project for every Nth record from a VectorContainer incoming into VectorContainer
 * outgoing. Each Ordering in orderings generates a column, and evaluation of the expression associated with each
 * Ordering determines the value of each column. These records will later be sorted based on the values in each
 * column, in the same order as the orderings.
 *
 * @param sv4
 * @param incoming
 * @param outgoing
 * @param orderings
 * @return
 * @throws SchemaChangeException
 */
private SampleCopier getCopier(SelectionVector4 sv4, VectorContainer incoming, VectorContainer outgoing,
    List<Ordering> orderings, List<ValueVector> localAllocationVectors) throws SchemaChangeException {
  final ErrorCollector collector = new ErrorCollectorImpl();
  final ClassGenerator<SampleCopier> cg = CodeGenerator.getRoot(SampleCopier.TEMPLATE_DEFINITION,
      context.getFunctionRegistry());

  int i = 0;
  for (Ordering od : orderings) {
    final LogicalExpression expr = ExpressionTreeMaterializer.materialize(od.getExpr(), incoming, collector, context.getFunctionRegistry());
    SchemaPath schemaPath = SchemaPath.getSimplePath("f" + i++);
    TypeProtos.MajorType.Builder builder = TypeProtos.MajorType.newBuilder().mergeFrom(expr.getMajorType())
        .clearMode().setMode(TypeProtos.DataMode.REQUIRED);
    TypeProtos.MajorType newType = builder.build();
    MaterializedField outputField = MaterializedField.create(schemaPath, newType);
    if (collector.hasErrors()) {
      throw new SchemaChangeException(String.format(
          "Failure while trying to materialize incoming schema.  Errors:\n %s.", collector.toErrorString()));
    }

    ValueVector vector = TypeHelper.getNewVector(outputField, oContext.getAllocator());
    localAllocationVectors.add(vector);
    TypedFieldId fid = outgoing.add(vector);
    ValueVectorWriteExpression write = new ValueVectorWriteExpression(fid, expr, true);
    HoldingContainer hc = cg.addExpr(write);
    cg.getEvalBlock()._if(hc.getValue().eq(JExpr.lit(0)))._then()._return(JExpr.FALSE);
  }
  cg.rotateBlock();
  cg.getEvalBlock()._return(JExpr.TRUE);
  outgoing.buildSchema(BatchSchema.SelectionVectorMode.NONE);
  try {
    SampleCopier sampleCopier = context.getImplementationClass(cg);
    sampleCopier.setupCopier(context, sv4, incoming, outgoing);
    return sampleCopier;
  } catch (ClassTransformationException | IOException e) {
    throw new SchemaChangeException(e);
  }
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:51,代码来源:OrderedPartitionRecordBatch.java

示例5: create

import org.apache.drill.common.expression.SchemaPath; //导入方法依赖的package包/类
public static MaterializedField create(String path, MajorType type){
  SchemaPath p = SchemaPath.getSimplePath(path);
  return create(p, type);
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:5,代码来源:MaterializedField.java


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