提问者:小点点

读取GCSblob,其中文件名来自apache光束中以前的p集合


我试图读取一个GCSparquet blob,其中文件名来自apache光束中以前的p集合。代码示例如下。

pubsub = (p | "Read from Topic" >> ReadFromPubSub(topic=topic) 
            |"decode bytes" >>beam.Map(lambda element: element.decode('utf-8')) # b'"gs://beam-gcs/example.parquet"'
            | "Read from Parquet" >> **beam.io.?????** #"gs://beam-basics-gcs/example.parquet"
         )
ib.show(pubsub)

我想使用流式数据流作业,我希望通过pubsub主题获得不同的文件名。最后,在阅读了parque之后,我想摄取到bigquery中


共2个答案

匿名用户

要读取文件名的PCollection的内容,您可以使用ReadAllFromParque。

匿名用户

错误描述了beam.io。ReadFromParque()需要一个指向一组Parquet文件的文件模式,但没有提供。

可以通过以下方式为Parquet文件中的记录创建PCollection。

使用Beam. Pipeline()作为p:记录=p|'读取'

其中 /mypath/myparquetfiles*是指向一组Parquet文件的文件模式。

请包括Praque文件路径,从您要读取并尝试重新运行数据流作业的位置。

参考:https://beam.apache.org/releases/pydoc/2.11.0/apache_beam.io.parquetio.html#apache_beam.io.parquetio.ReadFromParquet