Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ApacheBeamPython read.tgz并解析为BigQuery_Python_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

ApacheBeamPython read.tgz并解析为BigQuery

ApacheBeamPython read.tgz并解析为BigQuery,python,google-cloud-dataflow,apache-beam,Python,Google Cloud Dataflow,Apache Beam,例如,我有.tgz文件。它驻留在谷歌云存储中。tgz中有一系列|分隔的.txt文件。 例如,10个文件中的一个可以命名为 我希望在PythonSDK中使用ApacheBeam来至少读取.tgz和附带的.txt文件,而不必先解包。我想在预定义的Dataset.Table中解析|分隔的内容并将集合发送到BigQuery 这就是我目前所拥有的 import apache_beam as beam from apache_beam import (coders, io) raw_logs = (p

例如,我有.tgz文件。它驻留在谷歌云存储中。tgz中有一系列|分隔的.txt文件。 例如,10个文件中的一个可以命名为

我希望在PythonSDK中使用ApacheBeam来至少读取.tgz和附带的.txt文件,而不必先解包。我想在预定义的Dataset.Table中解析|分隔的内容并将集合发送到BigQuery

这就是我目前所拥有的

import apache_beam as beam
from apache_beam import (coders, io)

raw_logs = (p
            | io.Read("ReadLogsFromGCS", beam.io.TextFileSource(
                      "gs://my-bucket/logs-*.gz",
                      coder=coders.BytesCoder()))
p.run()

恐怕beam目前不支持tgz/tar.gz即双压缩文件。该功能有一个开放的窗口。但是,它可以读取内部只有一个文件的gz文件。示例代码如下:

beam.io.textio.ReadFromText(file_pattern= 'gs://bucket_name/logs-*.gz',compression_type='gzip')