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


Java TupleTag.equals方法代码示例

本文整理汇总了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));
  }
}
 
开发者ID:apache,项目名称:beam,代码行数:14,代码来源:DoFnOperator.java

示例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);
  }
}
 
开发者ID:apache,项目名称:beam,代码行数:65,代码来源:ParDoTranslator.java


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