提问者:小点点

在Apache光束中启动流水线之前做一些预处理


我需要使用JavaSDK创建一个apache光束管道,它将从谷歌云存储中读取数据。这些文件由上游进程推送,可能有无效文件。例如,文件头可能不是预期的格式。我想将所有这些无效文件移动到错误位置,我的管道应该使用TextIO只读取有效文件。

我试图通过正常的java文件操作来做到这一点,当试图使用flex模板在谷歌数据流上运行时,它给了我超时错误(轮询结果文件中的超时)

无论如何,我可以完成上述任务吗?


共1个答案

匿名用户

Flex Template启动器有一个嵌入的时间限制,可以启动12分钟的作业。理想情况下,您应该将程序集中在创建实际的作业管道图上。

您可以将此类验证添加为管道本身的一部分吗?例如,匹配来自FileIO. match().filepattern的文件,并使用只会发出有效文件的DoFn/PTransform

这可能会给出一些想法:https://beam.apache.org/documentation/patterns/file-processing/#accessing-filenames