自2019年2月2.10引入parquetio
以来,Cloud Dataflow一直支持编写Parquet。来自文档
with beam.Pipeline() as p:
records = p | 'Read' >> beam.Create(
[{'name': 'foo', 'age': 10}, {'name': 'bar', 'age': 20}]
)
_ = records | 'Write' >> beam.io.WriteToParquet(filename,
pyarrow.schema(
[('name', pyarrow.binary()), ('age', pyarrow.int64())]
)
)
云数据流没有生成Parquet文件的内置方法,但是根据ParquetAPI的快速浏览,实现基于文件的自定义数据流接收器应该相对容易(参见“FileBasedSink”)。