解释Apache Beam python语法

dob*_*002 31 python apache-beam

我已阅读了Beam文档,并查看了Python文档,但未找到大多数示例Apache Beam代码中使用的语法的良好解释.

谁能解释什么_,|以及>>在下面的代码在做什么?引号中的文字即"ReadTrainingData"是否有意义,还是可以与任何其他标签交换?换句话说,该标签是如何使用的?

train_data = pipeline | 'ReadTrainingData' >> _ReadData(training_data)
evaluate_data = pipeline | 'ReadEvalData' >> _ReadData(eval_data)

input_metadata = dataset_metadata.DatasetMetadata(schema=input_schema)

_ = (input_metadata
| 'WriteInputMetadata' >> tft_beam_io.WriteMetadata(
       os.path.join(output_dir, path_constants.RAW_METADATA_DIR),
       pipeline=pipeline))

preprocessing_fn = reddit.make_preprocessing_fn(frequency_threshold)
(train_dataset, train_metadata), transform_fn = (
  (train_data, input_metadata)
  | 'AnalyzeAndTransform' >> tft.AnalyzeAndTransformDataset(
      preprocessing_fn))
Run Code Online (Sandbox Code Playgroud)

小智 42

Python中的运算符可能会重载.在Beam中,|是一个同义词apply,它适用PTransform于a PCollection来生成一个新的PCollection.>>允许你命名为在各种UI容易显示步骤-的之间的字符串|>>仅用于这些显示目的和识别特定的应用.

请参阅https://beam.apache.org/documentation/programming-guide/#transforms

  • 更好的问题是,谁认为TF是一个好主意? (2认同)