【发布时间】:2019-02-03 17:45:41
【问题描述】:
我们正在使用 JDBC 源连接器以增量+时间戳模式构建 Kafka-connect 应用程序。我们尝试了独立模式,它按预期工作。现在,我们想切换到分布式模式。
当我们有一个单一的 Hive 表作为源时,任务将如何在工作人员之间分配?
我们面临的问题是当我们在多个实例中运行应用程序时,它会为每个实例查询表并再次获取相同的行。在这种情况下并行性会起作用吗?如果是这样,
任务之间如何协调表的当前状态?
【问题讨论】:
-
如果可能的话,您也可以添加一些您尝试的代码 sn-p。
-
对于不同的jdbc你需要编写不同的方式代码来实现并行。您必须使用 row_number 或 row_count 或其他数据库的内置功能,这样您就可以实现并行性。看看 spark-jdbc 连接器,你就会明白了。
-
无论如何,我相信每张桌子只分配一项任务。此外,您可能希望将源数据放入 Kafka,然后放入 Hive 和其他地方...... Hive 查询并不是很快
标签: apache-kafka apache-kafka-connect confluent-platform