本文整理汇总了Java中org.apache.beam.sdk.values.TupleTag.equals方法的典型用法代码示例。如果您正苦于以下问题:Java TupleTag.equals方法的具体用法?Java TupleTag.equals怎么用?Java TupleTag.equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.beam.sdk.values.TupleTag
的用法示例。
在下文中一共展示了TupleTag.equals方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: emit
import org.apache.beam.sdk.values.TupleTag; //导入方法依赖的package包/类
private <T> void emit(TupleTag<T> tag, WindowedValue<T> value) {
if (tag.equals(mainTag)) {
// with tagged outputs we can't get around this because we don't
// know our own output type...
@SuppressWarnings("unchecked")
WindowedValue<OutputT> castValue = (WindowedValue<OutputT>) value;
output.collect(new StreamRecord<>(castValue));
} else {
@SuppressWarnings("unchecked")
OutputTag<WindowedValue<T>> outputTag = (OutputTag) tagsToOutputTags.get(tag);
output.collect(outputTag, new StreamRecord<>(value));
}
}
示例2: translate
import org.apache.beam.sdk.values.TupleTag; //导入方法依赖的package包/类
@Override
public void translate(ParDo.MultiOutput<InputT, OutputT> transform, TranslationContext context) {
DoFn<InputT, OutputT> doFn = transform.getFn();
DoFnSignature signature = DoFnSignatures.getSignature(doFn.getClass());
if (signature.processElement().isSplittable()) {
throw new UnsupportedOperationException(
String.format(
"%s does not support splittable DoFn: %s", ApexRunner.class.getSimpleName(), doFn));
}
if (signature.timerDeclarations().size() > 0) {
throw new UnsupportedOperationException(
String.format(
"Found %s annotations on %s, but %s cannot yet be used with timers in the %s.",
DoFn.TimerId.class.getSimpleName(),
doFn.getClass().getName(),
DoFn.class.getSimpleName(),
ApexRunner.class.getSimpleName()));
}
Map<TupleTag<?>, PValue> outputs = context.getOutputs();
PCollection<InputT> input = context.getInput();
List<PCollectionView<?>> sideInputs = transform.getSideInputs();
ApexParDoOperator<InputT, OutputT> operator = new ApexParDoOperator<>(
context.getPipelineOptions(),
doFn,
transform.getMainOutputTag(),
transform.getAdditionalOutputTags().getAll(),
input.getWindowingStrategy(),
sideInputs,
input.getCoder(),
context.getStateBackend());
Map<PCollection<?>, OutputPort<?>> ports = Maps.newHashMapWithExpectedSize(outputs.size());
for (Entry<TupleTag<?>, PValue> output : outputs.entrySet()) {
checkArgument(
output.getValue() instanceof PCollection,
"%s %s outputs non-PCollection %s of type %s",
ParDo.MultiOutput.class.getSimpleName(),
context.getFullName(),
output.getValue(),
output.getValue().getClass().getSimpleName());
PCollection<?> pc = (PCollection<?>) output.getValue();
if (output.getKey().equals(transform.getMainOutputTag())) {
ports.put(pc, operator.output);
} else {
int portIndex = 0;
for (TupleTag<?> tag : transform.getAdditionalOutputTags().getAll()) {
if (tag.equals(output.getKey())) {
ports.put(pc, operator.additionalOutputPorts[portIndex]);
break;
}
portIndex++;
}
}
}
context.addOperator(operator, ports);
context.addStream(context.getInput(), operator.input);
if (!sideInputs.isEmpty()) {
addSideInputs(operator.sideInput1, sideInputs, context);
}
}