谷歌云数据流处理压缩文件

时间:2016-03-31 23:25:35

标签: java google-cloud-storage google-cloud-dataflow

谷歌数据流从谷歌云存储中读取压缩文件的方式最近有什么变化吗?我正在开发一个项目,从GCS读取压缩的csv日志文件,并使用这些文件作为数据流管道的源。直到最近,无论是否指定文件的压缩类型,它都能完美地工作。

目前我的DoFn中的processElement方法只被调用一次(对于csv标题行),尽管该文件有很多行。如果我使用未压缩的相同源文件,那么一切都按预期工作(为每一行调用processElement方法)。正如此处https://stackoverflow.com/a/27775968/6142412所建议的那样,将内容编码设置为gzip确实有效,但我之前不必这样做。

使用DirectPipelineRunner或DataflowPipelineRunner时,我遇到了这个问题。我正在使用版本1.5.0的cloud-data-flow sdk。

1 个答案:

答案 0 :(得分:0)

我们从连接的gzip文件中发现了一个问题(BEAM-167)。它已由PR 114在Apache Beam Github存储库中修复,并由PR 180在Dataflow SDK Github存储库中修复。它将成为下一个版本的一部分。

在此之前,解决方法是使用从Github构建的SDK或将整个文件压缩为单个部分。