org.apache.flink.api.java.tuple.Tuple类的使用及代码示例

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

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

Tuple介绍

[英]The base class of all tuples. Tuples have a fix length and contain a set of fields, which may all be of different types. Because Tuples are strongly typed, each distinct tuple length is represented by its own class. Tuples exists with up to 25 fields and are described in the classes Tuple1 to Tuple25.

The fields in the tuples may be accessed directly a public fields, or via position (zero indexed) #getField(int).

Tuples are in principle serializable. However, they may contain non-serializable fields, in which case serialization will fail.
[中]所有元组的基类。元组具有固定长度,并包含一组字段,这些字段可能都是不同类型的。因为元组是强类型的,所以每个不同的元组长度由它自己的类表示。元组最多有25个字段,在类Tuple1到Tuple25中有描述。
元组中的字段可以通过公共字段直接访问,也可以通过位置(零索引)#getField(int)访问。
元组原则上是可序列化的。但是,它们可能包含不可序列化的字段,在这种情况下,序列化将失败。

代码示例

代码示例来源:origin: apache/flink

@Override
  protected Object[] extractFields(OUT record) {
    Object[] fields = new Object[record.getArity()];
    for (int i = 0; i < fields.length; i++) {
      fields[i] = record.getField(i);
    }
    return fields;
  }
}

代码示例来源:origin: apache/flink

@SuppressWarnings("unchecked")
  @Override
  public R map(Tuple inTuple) throws Exception {
    for (int i = 0; i < fields.length; i++) {
      outTuple.setField(inTuple.getField(fields[i]), i);
    }
    return (R) outTuple;
  }
}

代码示例来源:origin: apache/flink

@Override
  @SuppressWarnings("unchecked")
  public R result() {
    try {
      Class tupleClass = Tuple.getTupleClass(columnAggregators.length);
      R tuple = (R) tupleClass.newInstance();
      for (int i = 0; i < columnAggregators.length; i++) {
        tuple.setField(columnAggregators[i].result(), i);
      }
      return tuple;
    }
    catch (InstantiationException | IllegalAccessException e) {
      throw new RuntimeException("Unexpected error instantiating Tuple class for aggregation results", e);

    }
  }
}

代码示例来源:origin: apache/flink

@Override
public Tuple getKey(IN value) {
  Tuple key = Tuple.newInstance(fields.length);
  for (int i = 0; i < fields.length; i++) {
    key.setField(Array.get(value, fields[i]), i);
  }
  return key;
}

代码示例来源:origin: apache/flink

@Override
  public double[] extract(Tuple in) {
    double[] out = new double[indexes.length];
    for (int i = 0; i < indexes.length; i++) {
      out[i] = (Double) in.getField(indexes[i]);
    }
    return out;
  }
}

代码示例来源:origin: apache/flink

@Override
  public Tuple deserialize(boolean normalized) throws IOException {
    Tuple result = createTuple(deserializer.length);
    for (int x = 0; x < result.getArity(); x++) {
      result.setField(deserializer[x].deserialize(normalized), x);
    }
    return result;
  }
}

代码示例来源:origin: apache/flink

@Override
public T createOrReuseInstance(Object[] fields, T reuse) {
  for (int i = 0; i < arity; i++) {
    reuse.setField(fields[i], i);
  }
  return reuse;
}

代码示例来源:origin: apache/flink

@Override
public void reduce(Iterable<T> records, Collector<T> out) {
  final AggregationFunction<Object>[] aggFunctions = this.aggFunctions;
  final int[] fieldPositions = this.fieldPositions;
  // aggregators are initialized from before
  T outT = null;
  for (T record : records) {
    outT = record;
    for (int i = 0; i < fieldPositions.length; i++) {
      Object val = record.getFieldNotNull(fieldPositions[i]);
      aggFunctions[i].aggregate(val);
    }
  }
  for (int i = 0; i < fieldPositions.length; i++) {
    Object aggVal = aggFunctions[i].getAggregate();
    outT.setField(aggVal, fieldPositions[i]);
    aggFunctions[i].initializeAggregate();
  }
  out.collect(outT);
}

代码示例来源:origin: apache/flink

public static Tuple createTuple(int size) {
    try {
      return Tuple.getTupleClass(size).newInstance();
    } catch (InstantiationException | IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }
}

代码示例来源:origin: com.alibaba.blink/flink-java

@Override
protected int getFieldsNum(T record) {
  return record.getArity();
}

代码示例来源:origin: apache/flink

Comparable comparable1 = value1.getFieldNotNull(position);
Comparable comparable2 = value2.getFieldNotNull(position);

代码示例来源:origin: apache/flink

@SuppressWarnings("unchecked")
@Override
public F get(T record) {
  return (F) record.getField(pos);
}

代码示例来源:origin: apache/flink

@Override
  public OUT nextRecord(OUT reuse) throws IOException {
    final Row item = resultSet.one();
    for (int i = 0; i < reuse.getArity(); i++) {
      reuse.setField(item.getObject(i), i);
    }
    return reuse;
  }
}

代码示例来源:origin: apache/flink

@Override
  public T set(T record, F fieldValue) {
    record.setField(fieldValue, pos);
    return record;
  }
}

代码示例来源:origin: com.alibaba.blink/flink-java

@Override
public void reduce(Iterable<T> records, Collector<T> out) {
  final AggregationFunction<Object>[] aggFunctions = this.aggFunctions;
  final int[] fieldPositions = this.fieldPositions;
  // aggregators are initialized from before
  T outT = null;
  for (T record : records) {
    outT = record;
    for (int i = 0; i < fieldPositions.length; i++) {
      Object val = record.getFieldNotNull(fieldPositions[i]);
      aggFunctions[i].aggregate(val);
    }
  }
  for (int i = 0; i < fieldPositions.length; i++) {
    Object aggVal = aggFunctions[i].getAggregate();
    outT.setField(aggVal, fieldPositions[i]);
    aggFunctions[i].initializeAggregate();
  }
  out.collect(outT);
}

代码示例来源:origin: apache/flink

private MapProjector(int[] fields) {
  this.fields = fields;
  try {
    this.outTuple = Tuple.getTupleClass(fields.length).newInstance();
  }
  catch (Exception e) {
    // this should never happen
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: apache/flink

@Override
public Tuple getKey(IN value) {
  Tuple key = Tuple.newInstance(keyLength);
  comparator.extractKeys(value, keyArray, 0);
  for (int i = 0; i < keyLength; i++) {
    key.setField(keyArray[i], i);
  }
  return key;
}

代码示例来源:origin: ottogroup/flink-spector

/**
 * Default constructor
 *
 * @param tuple wrapped {@link Tuple}.
 * @param keys  key strings.
 */
public TupleMap(T tuple, String[] keys) {
  if (keys.length > tuple.getArity()) {
    throw new IllegalArgumentException("Number of keys is greater" +
        " than the arity of the tuple!");
  }
  this.tuple = tuple;
  this.keys = keys;
}

代码示例来源:origin: apache/flink

Comparable comparable1 = value1.getFieldNotNull(position);
Comparable comparable2 = value2.getFieldNotNull(position);

代码示例来源:origin: apache/flink

private static String[] tupleToStringArray(Tuple tuple) {
    String[] keys = new String[tuple.getArity()];
    for (int y = 0; y < tuple.getArity(); y++) {
      keys[y] = (String) tuple.getField(y);
    }
    return keys;
  }
}

相关文章