看看这个例子 ClickHouseIO
为了 Apache Beam
输出表的名称是硬编码的:
pipeline
.apply(...)
.apply(
ClickHouseIO.<POJO>write("jdbc:clickhouse:localhost:8123/default", "my_table"));
有没有一种方法可以根据记录的内容将其动态路由到表中?
i、 e.如果记录包含 table=1
,它被路由到 my_table_1
, table=2
至 my_table_2
等。
1条答案
按热度按时间aurhwmvo1#
不幸的是,clickhouseio仍在开发中,它不支持这一点。bigqueryio确实支持动态目的地,因此可以使用beam。
当前clickhouseio中的限制是转换数据以匹配目标表模式。作为一种解决方法,如果目标表在管道创建时已知,则可以为每个表创建clickhouseio,然后使用数据路由到正确的io示例。
为此,您可能需要在beam bug tracker中提交一个功能请求。