如何使用Apache Beam动态将文件写入Google存储桶?

时间:2020-02-03 23:12:19

标签: google-cloud-platform google-cloud-dataflow apache-beam

我正在尝试使用Apache Beam将一些文件写入google bucket,但是文件位置和文件夹名称是根据文件中的第一个索引生成的,那么如何创建此字典并将其写入文件?

metadata = (data_from_test |'CSVConversionMeta' >> beam.ParDo(WriteToCSVmeta())|'Writing To File' >> beam.io.WriteToText('gs://tester1212/CIK/YEAR/FILING/metadata.csv'))

因此,这是我编写文件的代码,但是我希望从csv中获取YEAR并在运行时创建文件夹。

1 个答案:

答案 0 :(得分:1)

如果在管道启动之前知道您的日期,则可以执行此操作

year="2020"
metadata = (data_from_test |'CSVConversionMeta' >> beam.ParDo(WriteToCSVmeta())|'Writing To File' >> beam.io.WriteToText('gs://tester1212/CIK/{}/FILING/metadata.csv'.format(year)))