Tôi đã đọc qua tài liệu Beam và cũng xem qua tài liệu Python nhưng chưa tìm thấy giải thích tốt về cú pháp được sử dụng trong hầu hết mã Apache Beam ví dụ.Giải thích cú pháp python Apache Beam
Bất cứ ai có thể giải thích những gì _
, |
và >>
đang thực hiện trong mã bên dưới? Ngoài ra là văn bản trong dấu ngoặc kép tức là 'ReadTrainingData' có ý nghĩa hoặc nó có thể được trao đổi với bất kỳ nhãn nào khác không? Nói cách khác, nhãn đó được sử dụng như thế nào?
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))
Cảm ơn bạn! Điều này rất hữu ích. Nếu tôi hiểu đúng thì họ có sử dụng _ bởi vì không có PCollection đầu ra cho một biến đổi writeMetadata? – dobbysock1002
Thật tình cờ, nó sẽ trả về một PDone [1], mà họ không cần (vì vậy họ sử dụng throwaway _). [1] https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pvalue.py#L163 –