當前位置: 首頁>>代碼示例>>Java>>正文


Java AllocationHelper.allocate方法代碼示例

本文整理匯總了Java中org.apache.drill.exec.vector.AllocationHelper.allocate方法的典型用法代碼示例。如果您正苦於以下問題:Java AllocationHelper.allocate方法的具體用法?Java AllocationHelper.allocate怎麽用?Java AllocationHelper.allocate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.drill.exec.vector.AllocationHelper的用法示例。


在下文中一共展示了AllocationHelper.allocate方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: copyRecords

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public int copyRecords(int index, int recordCount){
  for(VectorWrapper<?> out : outgoing){
    MajorType type = out.getField().getType();
    if (!Types.isFixedWidthType(type) || Types.isRepeated(type)) {
      out.getValueVector().allocateNew();
    } else {
      AllocationHelper.allocate(out.getValueVector(), recordCount, 1);
    }
  }

  int outgoingPosition = 0;
  for(int svIndex = index; svIndex < index + recordCount; svIndex++, outgoingPosition++){
    int deRefIndex = sv4.get(svIndex);
    doEval(deRefIndex, outgoingPosition);
  }
  return outgoingPosition;
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:19,代碼來源:CopierTemplate4.java

示例2: copyRecords

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public int copyRecords(int index, int recordCount){
  for(VectorWrapper<?> out : outgoing){
    MajorType type = out.getField().getType();
    if (!Types.isFixedWidthType(type) || Types.isRepeated(type)) {
      out.getValueVector().allocateNew();
    } else {
      AllocationHelper.allocate(out.getValueVector(), recordCount, 1);
    }
  }

  int outgoingPosition = 0;

  for(int svIndex = index; svIndex < index + recordCount; svIndex++, outgoingPosition++){
    doEval(sv2.getIndex(svIndex), outgoingPosition);
  }
  return outgoingPosition;
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:19,代碼來源:CopierTemplate2.java

示例3: addOutputContainerData

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void addOutputContainerData() {
  final VarCharVector fragmentIdVector = (VarCharVector) container.getValueAccessorById(
      VarCharVector.class,
      container.getValueVectorId(SchemaPath.getSimplePath("Fragment")).getFieldIds())
    .getValueVector();
  AllocationHelper.allocate(fragmentIdVector, 1, 50);
  final BigIntVector summaryVector = (BigIntVector) container.getValueAccessorById(BigIntVector.class,
          container.getValueVectorId(SchemaPath.getSimplePath("Number of records written")).getFieldIds())
        .getValueVector();
  AllocationHelper.allocate(summaryVector, 1, 8);
  fragmentIdVector.getMutator().setSafe(0, fragmentUniqueId.getBytes());
  fragmentIdVector.getMutator().setValueCount(1);
  summaryVector.getMutator().setSafe(0, counter);
  summaryVector.getMutator().setValueCount(1);

  container.setRecordCount(1);
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:18,代碼來源:WriterRecordBatch.java

示例4: populatePartitionVectors

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void populatePartitionVectors() {
  for (int index = 0; index < selectedPartitionColumns.size(); index++) {
    final int i = selectedPartitionColumns.get(index);
    final NullableVarCharVector v = (NullableVarCharVector) partitionVectors.get(index);
    if (partitionValues.length > i) {
      final String val = partitionValues[i];
      AllocationHelper.allocate(v, recordCount, val.length());
      final byte[] bytes = val.getBytes();
      for (int j = 0; j < recordCount; j++) {
        v.getMutator().setSafe(j, bytes, 0, bytes.length);
      }
      v.getMutator().setValueCount(recordCount);
    } else {
      AllocationHelper.allocate(v, recordCount, 0);
      v.getMutator().setValueCount(recordCount);
    }
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:19,代碼來源:ScanBatch.java

示例5: copyRecords

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public int copyRecords(int index, int recordCount) throws SchemaChangeException {
  for(VectorWrapper<?> out : outgoing){
    MajorType type = out.getField().getType();
    if (!Types.isFixedWidthType(type) || Types.isRepeated(type)) {
      out.getValueVector().allocateNew();
    } else {
      AllocationHelper.allocate(out.getValueVector(), recordCount, 1);
    }
  }

  int outgoingPosition = 0;
  for(int svIndex = index; svIndex < index + recordCount; svIndex++, outgoingPosition++){
    int deRefIndex = sv4.get(svIndex);
    doEval(deRefIndex, outgoingPosition);
  }
  return outgoingPosition;
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:19,代碼來源:CopierTemplate4.java

示例6: copyRecords

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public int copyRecords(int index, int recordCount) throws SchemaChangeException {
  for(VectorWrapper<?> out : outgoing){
    MajorType type = out.getField().getType();
    if (!Types.isFixedWidthType(type) || Types.isRepeated(type)) {
      out.getValueVector().allocateNew();
    } else {
      AllocationHelper.allocate(out.getValueVector(), recordCount, 1);
    }
  }

  int outgoingPosition = 0;

  for(int svIndex = index; svIndex < index + recordCount; svIndex++, outgoingPosition++){
    doEval(sv2.getIndex(svIndex), outgoingPosition);
  }
  return outgoingPosition;
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:19,代碼來源:CopierTemplate2.java

示例7: addOutputContainerData

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void addOutputContainerData() {
  @SuppressWarnings("resource")
  final VarCharVector fragmentIdVector = (VarCharVector) container.getValueAccessorById(
      VarCharVector.class,
      container.getValueVectorId(SchemaPath.getSimplePath("Fragment")).getFieldIds())
    .getValueVector();
  AllocationHelper.allocate(fragmentIdVector, 1, 50);
  @SuppressWarnings("resource")
  final BigIntVector summaryVector = (BigIntVector) container.getValueAccessorById(BigIntVector.class,
          container.getValueVectorId(SchemaPath.getSimplePath("Number of records written")).getFieldIds())
        .getValueVector();
  AllocationHelper.allocate(summaryVector, 1, 8);
  fragmentIdVector.getMutator().setSafe(0, fragmentUniqueId.getBytes());
  fragmentIdVector.getMutator().setValueCount(1);
  summaryVector.getMutator().setSafe(0, counter);
  summaryVector.getMutator().setValueCount(1);

  container.setRecordCount(1);
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:20,代碼來源:WriterRecordBatch.java

示例8: populateImplicitVectors

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void populateImplicitVectors(Map<String, String> implicitValues, int recordCount) {
  if (implicitValues != null) {
    for (Map.Entry<String, String> entry : implicitValues.entrySet()) {
      @SuppressWarnings("resource")
      final NullableVarCharVector v = (NullableVarCharVector) implicitFieldVectorMap.get(entry.getKey());
      String val;
      if ((val = entry.getValue()) != null) {
        AllocationHelper.allocate(v, recordCount, val.length());
        final byte[] bytes = val.getBytes();
        for (int j = 0; j < recordCount; j++) {
          v.getMutator().setSafe(j, bytes, 0, bytes.length);
        }
        v.getMutator().setValueCount(recordCount);
      } else {
        AllocationHelper.allocate(v, recordCount, 0);
        v.getMutator().setValueCount(recordCount);
      }
    }
  }
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:21,代碼來源:ScanBatch.java

示例9: allocateOutgoing

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void allocateOutgoing() {
  for (final VectorWrapper w : outgoingContainer) {
    final ValueVector v = w.getValueVector();
    if (v instanceof FixedWidthVector) {
      AllocationHelper.allocate(v, OUTGOING_BATCH_SIZE, 1);
    } else {
      v.allocateNewSafe();
    }
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:11,代碼來源:MergingRecordBatch.java

示例10: doWork

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
protected void doWork(VectorAccessible batch) {
  int recordCount = batch.getRecordCount();
  AllocationHelper.allocate(partitionKeyVector, recordCount, 50);
  projector.projectRecords(recordCount, 0);
  for (VectorWrapper<?> v : container) {
    ValueVector.Mutator m = v.getValueVector().getMutator();
    m.setValueCount(recordCount);
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:10,代碼來源:OrderedPartitionRecordBatch.java

示例11: allocate

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public void allocate(Map<Key, ValueVector> vectorMap) throws OutOfMemoryException {
  try {
    for (final ValueVector v : vectorMap.values()) {
      AllocationHelper.allocate(v, Character.MAX_VALUE, 50, 10);
    }
  } catch (NullPointerException e) {
    throw new OutOfMemoryException();
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:11,代碼來源:MockRecordReader.java

示例12: allocate

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public void allocate(Map<Key, ValueVector> vectorMap) throws OutOfMemoryException {
  try {
    for (final ValueVector v : vectorMap.values()) {
      AllocationHelper.allocate(v, recordsPerBatch, 50, 10);
    }
  } catch (NullPointerException e) {
    throw new OutOfMemoryException();
  }
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:11,代碼來源:ParquetRecordReader.java

示例13: allocateVector

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void allocateVector(ValueVector vector, int recordCount, AllocationHint hint) {
  if (hint == null) {
    // Use hard-coded values. Same as ScanBatch

    AllocationHelper.allocate(vector, recordCount, 50, 10);
  } else {
    AllocationHelper.allocate(vector, recordCount, hint.entryWidth, hint.elementCount);
  }
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:10,代碼來源:VectorInitializer.java

示例14: allocateOutgoing

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
private void allocateOutgoing() {
  for (final VectorWrapper<?> w : outgoingContainer) {
    @SuppressWarnings("resource")
    final ValueVector v = w.getValueVector();
    if (v instanceof FixedWidthVector) {
      AllocationHelper.allocate(v, OUTGOING_BATCH_SIZE, 1);
    } else {
      v.allocateNewSafe();
    }
  }
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:12,代碼來源:MergingRecordBatch.java

示例15: allocate

import org.apache.drill.exec.vector.AllocationHelper; //導入方法依賴的package包/類
@Override
public void allocate(Map<String, ValueVector> vectorMap) throws OutOfMemoryException {
  try {
    for (final ValueVector v : vectorMap.values()) {
      AllocationHelper.allocate(v, Character.MAX_VALUE, 50, 10);
    }
  } catch (NullPointerException e) {
    throw new OutOfMemoryException();
  }
}
 
開發者ID:axbaretto,項目名稱:drill,代碼行數:11,代碼來源:MockRecordReader.java


注:本文中的org.apache.drill.exec.vector.AllocationHelper.allocate方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。