Google Cloud Dataflow用户定义的MySQL源代码

我正在编写Google Dataflow Pipeline,并且作为之一,我需要通过查询获得MySQL结果集。 那么几个问题:

  1. 从我的管道中提取数据的正确方法是什么?这可以简单地使用JDBC在线完成吗?
  2. 在我确实需要实现将MySQL作为源代码的 “用户定义数据格式”的情况下,是否有人知道实现是否已经存在并且我不需要重新发明轮子? (不要误解我的意思,我会喜欢写它,但我想这将是一个非常常见的情况,使用MySQL作为源)

谢谢大家!

JDBC连接器刚刚添加到Apache Beam(孵化) 。 请参阅JdbcIO 。

目前,Cloud Dataflow不提供MySQL输入源。

实现对此的支持的首选方法是实现可以处理MySQL查询的用户定义的输入源 。

另一种方法是在主程序中执行查询,并将查询结果分级到GCS中的临时位置,使用Dataflow处理结果,并临时删除文件。

希望这可以帮助

您可以在上面的例子中澄清对GroupByKey的需求吗? 由于之前的ParDo(ReadQueryResults)返回主键上的键,因此GroupByKey实际上不会为结果集的每一行创建一个组吗? 即使没有GroupByKey,后续的ParDo(重组)也会并行化每行的处理,对吧?