我试图在不使用过多内存的情况下转换存储在GCS中的数TB的邮件日志。
按照guide中的建议,我将时间戳记添加到每个元素,将其拆分到一个滑动窗口中,并且在将其发送到GroupByKey
和{ {1}}之后的解析器。应该可以,但是ParDo
仍在等待所有数据到达。 为什么?
我也尝试过Direct和Google Dataflow运行程序。
我想念什么?
这是代码的要点:
GroupByKey
答案 0 :(得分:1)
default trigger要求整个数据集在处理之前可用,这就是为什么它等待所有数据到达的原因。
尝试使用Data-driven触发器或Processing time triggers。
此外,SlidingWindows主要用于运行平均值,并且由于您仅添加时间戳,因此单个全局窗口可能是更好的选择。
编辑
关于窗口,您可以拥有一个流作业,该流作业可以创建pcollection from in-memory数据,并可以从GCS存储中进行侧面输入。