Google Cloud Dataflow 用户定义的 MySQL 来源

Google Cloud Dataflow User-Defined MySQL Source

我正在编写一个 Google 数据流管道,作为 来源之一,我需要通过查询获得一个 MySQL 结果集。那么几个问题:

  1. 从 MySQL 中提取数据作为我管道中的一个步骤的正确方法是什么,这可以简单地使用 JDBC 在线完成吗?
  2. 如果我确实需要实现 "User-Defined Data Format" 包装 MySQL 作为 来源 ,有谁知道实现是否已经存在并且我不需要重新发明轮子? (不要误会我的意思,我会喜欢写它,但我想这将是使用 MySQL 作为来源的常见场景)

谢谢大家!

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

实现对此支持的首选方法是实现可以处理 MySQL 查询的 user-defined input source

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

希望对您有所帮助

能否说明一下上面例子中GroupByKey的必要性?由于之前的 ParDo (ReadQueryResults) returns rows key'd on primary key,GroupByKey 不会实质上为结果集的每一行创建一个组吗?即使没有 GroupByKey,后续的 ParDo(重组)也会对每行进行并行处理,对吗?

一个 JDBC 连接器刚刚添加到 Apache Beam (incubating). See JdbcIO