apache beam中到io接收器的动态路由

nkcskrwz  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(302)

看看这个例子 ClickHouseIO 为了 Apache Beam 输出表的名称是硬编码的:

pipeline
   .apply(...)
   .apply(
     ClickHouseIO.<POJO>write("jdbc:clickhouse:localhost:8123/default", "my_table"));

有没有一种方法可以根据记录的内容将其动态路由到表中?
i、 e.如果记录包含 table=1 ,它被路由到 my_table_1 , table=2my_table_2 等。

aurhwmvo

aurhwmvo1#

不幸的是,clickhouseio仍在开发中,它不支持这一点。bigqueryio确实支持动态目的地,因此可以使用beam。
当前clickhouseio中的限制是转换数据以匹配目标表模式。作为一种解决方法,如果目标表在管道创建时已知,则可以为每个表创建clickhouseio,然后使用数据路由到正确的io示例。
为此,您可能需要在beam bug tracker中提交一个功能请求。

相关问题