如何使用Dataflow中的Beam TextIO读取云存储中的大文件

时间:2018-10-03 13:41:04

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

我有一个存储桶,每天可以在其中插入GZIP格式的大量文本文件(大约3亿行)。每当在此存储桶中添加新文件时,我都需要读取该文件的每一行并在Dataflow管道中对其进行处理。为此,我用以下代码在Java中实现了流式处理管道

TextView

我的文本文件通过以下元数据存储在Google云端存储中:

  • 内容类型:文本/纯文本
  • ContentEncoding:gzip

问题如下:当添加新文档时,TextIO从该文件中读取了无数行,如下图所示(TextIO发送了500M行后,我停止了该过程):

enter image description here

我的问题是:为什么会这样?我的代码错误在哪里?

0 个答案:

没有答案