有什么办法可以让Cloud Dataflow像流一样输出吗?

Is any way can let Cloud Dataflow output like stream?

我使用 Google Cloud Dataflow 来处理绑定数据并输出到 BigQuery,我希望它可以处理一些东西并写入一些东西(比如流,而不是批处理),我有什么办法可以做到这一点吗?

目前,Dataflow 将等待工作进程没有所有数据,并写入 BigQuery,我尝试添加 FixedWindow 并使用 Log Timestamp 参数作为 window_timestamp,但它不起作用。

我想知道:

  1. 开窗是处理这个问题的正确方法吗?
  2. BigQueryIO 真的是批量写入,还是它只是没有显示在我的仪表板上(后台写入流?)
  3. 我需要什么方法吗?

我的源代码在这里:http://pastie.org/10907947

非常感谢!

您需要在 PipelineOptions 中将 streaming 属性 设置为 true

有关详细信息,请参阅 "streaming execution"

此外,您需要使用可以 generate/consume 无限数据的 sources/sinks。 BigQuery 已经可以在两种模式下写入,但目前 TextIO 只能读取有界数据。但是绝对可以编写一个自定义的无限源来扫描目录中的新文件。