我已经从MySQL创建了一个样本管道轮询数据并写入HDFS(hive表)。
由于我的要求,我需要为每个db表创建Source + Connector对。以下我……
1)创建源连接器时是否有办法配置分区数和复制因子?
不是来自Connect,没有。
听起来你在代理上启用了自动主题创建,所以它使用的是默认值。理想情况下,这应该在生产环境中禁用,因此您必须提前创建主题。
Source Connector使用什么样的分区策略?
取决于哪个连接器以及代码的编写方式(即它是否/如何生成Record的密钥)。例如,假设使用JDBC连接器,密钥可能是数据库表的主键。它将使用DefaultPartitioner进行哈希处理。我不相信Connect允许您在每个连接器级别指定自定义分区程序。如果键为null,则消息将分布在所有分区上。
3)是否应为源和接收器连接器创建正确数量的工作器?
再次,取决于来源。对于JDBC,每个表只有一个任务。
但是,对于接收器,任务只能达到被接收主题的分区数(与所有使用者组一样)。
此外,您通常会分别从数据库(和Hadoop集群)运行Connect集群