org.apache.pig.data.TupleFactory.newTupleNoCopy()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中org.apache.pig.data.TupleFactory.newTupleNoCopy()方法的一些代码示例,展示了TupleFactory.newTupleNoCopy()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TupleFactory.newTupleNoCopy()方法的具体详情如下:
包路径:org.apache.pig.data.TupleFactory
类名称:TupleFactory
方法名:newTupleNoCopy

TupleFactory.newTupleNoCopy介绍

[英]Create a tuple from a provided list of objects, keeping the provided list. The new tuple will take over ownership of the provided list.
[中]从提供的对象列表创建一个元组,保留提供的列表。新的元组将接管所提供列表的所有权。

代码示例

代码示例来源:origin: elastic/elasticsearch-hadoop

@Override
public Object addToArray(Object array, List<Object> value) {
  return TupleFactory.getInstance().newTupleNoCopy(value);
}

代码示例来源:origin: org.elasticsearch/elasticsearch-hadoop

@Override
public Object addToArray(Object array, List<Object> value) {
  return TupleFactory.getInstance().newTupleNoCopy(value);
}

代码示例来源:origin: com.twitter.elephantbird/elephant-bird-pig

@Override
public Tuple getNext() throws IOException {
 if (!returned) {
  returned = true;
  String dataString = getUDFProperties().getProperty(DATA_PROP);
  LinkedList<String> tups = Lists.newLinkedList();
  int offset = 0;
  for (int i = 0; i < dataString.length(); i++) {
   if (dataString.charAt(i) == token) {
    tups.add(dataString.substring(offset, i));
    offset = i+1;
   }
  }
  tups.add(dataString.substring(offset, dataString.length()));
  return TupleFactory.getInstance().newTupleNoCopy(tups);
 } else {
  return null;
 }
}

代码示例来源:origin: org.apache.pig/pig

@Override
public void write(DataOutput out) throws IOException {
  Tuple t = mTupleFactory.newTupleNoCopy(getAll());
  t.write(out);
}

代码示例来源:origin: org.apache.pig/pig

private Object extractKeysFromIdxTuple(Tuple idxTuple) throws ExecException{
  int idxTupSize = idxTuple.size();
  if(idxTupSize == 3)
    return idxTuple.get(0);
  int numColsInKey = (idxTupSize - 2);
  List<Object> list = new ArrayList<Object>(numColsInKey);
  for(int i=0; i < numColsInKey; i++)
    list.add(idxTuple.get(i));
  return mTupleFactory.newTupleNoCopy(list);
}

代码示例来源:origin: com.twitter.elephantbird/elephant-bird-pig

@Override
public Tuple getNext() throws IOException {
 try {
  if (!reader.nextKeyValue()) {
   return null;
  }
  if (readKey) {
   if (readValue) {
    return tupleFactory.newTupleNoCopy(Lists.newArrayList(getCurrentKeyObject(),
      getCurrentValueObject()));
   } else {
    return tupleFactory.newTupleNoCopy(Lists.newArrayList(getCurrentKeyObject()));
   }
  } else if (readValue) {
   return tupleFactory.newTupleNoCopy(Lists.newArrayList(getCurrentValueObject()));
  } else {
   throw new IllegalStateException("Cowardly refusing to read zero fields per record");
  }
 } catch (EOFException e) {
  if (!config.genericArguments.hasOption(Config.SKIP_EOF_ERRORS_PARAM)) {
   throw e;
  }
  LOG.warn("EOFException encountered while reading input", e);
  incrCounter(Error.EOFException, 1L);
 } catch (InterruptedException e) {
  throw new ExecException("Error while reading input", 6018, PigException.REMOTE_ENVIRONMENT, e);
 }
 return null;
}

代码示例来源:origin: alexholmes/hadoop-book

@Override
public Tuple getNext() throws IOException {
 tuple = new ArrayList<Object>(11);
 for (int i = 0; i < 11; i++) {
  tuple.add(null);
 }
 try {
  if (!in.nextKeyValue()) {
   return null;
  }
  setTuple(in.getCurrentValue());
  return tupleFactory.newTupleNoCopy(tuple);
 } catch (InterruptedException e) {
  int errCode = 6018;
  String errMsg = "Error while reading input";
  throw new ExecException(errMsg, errCode,
   PigException.REMOTE_ENVIRONMENT, e);
 }
}

代码示例来源:origin: org.apache.pig/pig

/**
 * Transform bytes from a byte array up to the specified length to a <code>Tuple</code>
 *
 * @param buf the byte array
 * @param length number of bytes to consume from the byte array
 * @param fieldDel the field delimiter
 * @return tuple constructed from the bytes
 */
public static Tuple bytesToTuple(byte[] buf, int offset, int length, byte fieldDel) {
  int start = offset;
  ArrayList<Object> protoTuple = new ArrayList<Object>();
  for (int i = offset; i < length; i++) {
    if (buf[i] == fieldDel) {
      readField(protoTuple, buf, start, i);
      start = i + 1;
    }
  }
  // pick up the last field
  if (start <= length) {
    readField(protoTuple, buf, start, length);
  }
  return TupleFactory.getInstance().newTupleNoCopy(protoTuple);
}

代码示例来源:origin: org.apache.pig/pig

private Tuple getRangeTuple(Tuple tuple) throws ExecException {
  int lastColIdx = tuple.size() - 1;
  Tuple outTuple;
  if(isRangeInvalid(lastColIdx)){
    //invalid range - return empty tuple
    outTuple = mTupleFactory.newTuple();
  }
  else {
    ArrayList<Object> objList = new ArrayList<Object>(lastColIdx - startCol + 1);
    for(int i = startCol; i <= lastColIdx ; i++){
      addColumn(objList, tuple, i);
    }
    outTuple = mTupleFactory.newTupleNoCopy(objList);
  }
  return outTuple;
}

代码示例来源:origin: org.apache.pig/pig

private Tuple deserializeTuple(FieldSchema fs, byte[] buf, int startIndex, int endIndex) throws IOException {
  Schema tupleSchema = fs.schema;
  
  ArrayList<Object> protoTuple = new ArrayList<Object>(tupleSchema.size());
  int depth = 0;
  int fieldNum = 0;
  int fieldStart = startIndex;
  
  for (int index = startIndex; index <= endIndex; index++) {
    depth = DELIMS.updateDepth(buf, depth, index);
    if (StreamingDelimiters.isDelimiter(DELIMS.getFieldDelim(), buf, index, depth, endIndex)) {
      protoTuple.add(deserialize(tupleSchema.getField(fieldNum), buf, fieldStart, index - 1));
      fieldStart = index + 3;
      fieldNum++;
    }
  }
  return tupleFactory.newTupleNoCopy(protoTuple);
}

代码示例来源:origin: org.apache.pig/pig

addTupleValue(mProtoTuple, buf, start, len);
Tuple t =  mTupleFactory.newTupleNoCopy(mProtoTuple);

代码示例来源:origin: org.apache.pig/pig

res.result = noTupleCopy ? next : mTupleFactory.newTupleNoCopy(next.getAll());
res.returnStatus = POStatus.STATUS_OK;
if (inputRecordCounter != null) {

代码示例来源:origin: org.apache.pig/pig

addColumn(objList, inpValue, col);
ret = mTupleFactory.newTupleNoCopy(objList);

代码示例来源:origin: org.apache.pig/pig

addColumn(objList, tuple, col);
  outBag = new SingleTupleBag( mTupleFactory.newTupleNoCopy(objList) );
}else {
  Tuple tmpTuple = getRangeTuple(tuple);
      addColumn(objList, tuple, col);
    outBag.add( mTupleFactory.newTupleNoCopy(objList) );
  }else{
    Tuple outTuple = getRangeTuple(tuple);

代码示例来源:origin: org.apache.pig/pig

@Override
public Boolean exec(Tuple input) throws IOException {
  if (filter == null) {
    init(input);
  }
  byte[] b;
  if (bloomFile == null) {
    // The first one is the bloom filter. Skip that
    if (input.size() == 2) {
      b = DataType.toBytes(input.get(1));
    } else {
      List<Object> inputList = input.getAll();
      Tuple tuple = mTupleFactory.newTupleNoCopy(inputList.subList(1, inputList.size()));
      b = DataType.toBytes(tuple, DataType.TUPLE);
    }
  } else {
    if (input.size() == 1) {
      b = DataType.toBytes(input.get(0));
    } else {
      b = DataType.toBytes(input, DataType.TUPLE);
    }
  }
  Key k = new Key(b);
  return filter.membershipTest(k);
}

代码示例来源:origin: org.apache.pig/pig

tup =  mTupleFactory.newTupleNoCopy(list);

代码示例来源:origin: aseldawy/pigeon

tupleFactory = TupleFactory.getInstance();
for (Tuple t : lRelation) {
 lTuples[leftSize++] = tupleFactory.newTupleNoCopy(t.getAll());
int rGeomColumn = -1;
while (ri.hasNext()) {
 rTuples[rSize++] = tupleFactory.newTupleNoCopy(ri.next().getAll());
 if (rSize == batchSize || !ri.hasNext()) {

代码示例来源:origin: org.apache.pig/pig

root.attachInput(tf.newTupleNoCopy(inpTuple.getAll()));

相关文章

微信公众号

最新文章

更多