逐个读取压缩文件

时间:2017-06-30 10:38:34

标签: google-cloud-dataflow

假设我有一个包含N个文件的zip。我想使用Dataflow逐个处理每个文件。这可能吗?

我需要处理zip中的每个文件,并将数据转储到BigQuery表中。因此,每个文件都将被转储到一个单独的BigQuery表中。

我尝试使用Dataflow读取zip文件,但它会立即读取其中的所有内容。我必须能够区分zip中的各种文件。

谢谢

1 个答案:

答案 0 :(得分:0)

我认为您可以编写一个DoFn来读取文件目录并输出元组(Filename,Zipfile)对或(offset,zipfile)对。然后下游步骤将接收在不同工作者上分片的对,允许您并行地从zip加载单独的文件。

我假设有一个API可以(1)列出zip中的文件,(2)只解压缩要解压缩的特定文件。希望这种方法能够奏效。