Hi Leonard.
> 除了多个sql作业的方式,如果需要在一个SQL作业中可以试试在一个作业里把所有表的binlog 格式统一用一个字段(如string)
接入,然后写针对每个表的schema写一个udtf解析对应的数据,最后多路输出到hive的不同表。
如果不限定SQL作业的话,用DataSteam API的话是不是可以实现这样的功能。
多路输出是个动态的,因为是整库的binlog ,不确定库中是否有新增表,作业要触发hive里面去创建表的动作。hive catalog create
table 是否可以在运行中来调用吗?
程序启动之后生成的jobgraph运行中是不是不可以调整的?如果可以的话,是否有类似的案例可以参考。
Leonard Xu <
[hidden email]> 于2020年8月28日周五 上午9:30写道:
> Hi, qishang
>
> > 1. 好像 Flink SQL 里面只能一个数据源 kafka 到一张Hive表,一个Topic是否可以根据解析的表不同插入到不同的Hive表吗
> ?
> > 我看了一些邮件好像说不可以的,在问一下。
> 在一个SQL作业中是不行的,因为SQL是强依赖Schema的,schema需要事先声明。
>
> > 2. 或者有什么好的解决方式吗?因为数据量都不是很大,表比较多,每个表都要维护一个任务的话,代价比较大。
>
> 除了多个sql作业的方式,如果需要在一个SQL作业中可以试试在一个作业里把所有表的binlog 格式统一用一个字段(如string)
> 接入,然后写针对每个表的schema写一个udtf解析对应的数据,最后多路输出到hive的不同表。
>
> 祝好
> Leonard