我通过hive union 
kafka数据来解决hive数据不更新的问题,我现在碰到的问题是hive没有加载完就开始有join数据输出,比如我取最大日期,hive读取到26号就输出了26,过一会读取到27号,又会输出27,有没有办法让hive全部加载完再join输出,这样就只会有一个值输出了?


在2019年8月27日 17:33,苏 欣<sean...@live.com> 写道:
我之前试过两种方式,但都有各自的问题:
1.注册hiveCatalog然后关联kafka,这种方式会存在hive表数据读取一次后不再更新的问题。
2.实现LookupableTableSource方法,通过jdbc方式读取hive维表来关联kafka,但是这种方式可以做到实时加载hive数据,但是效率比较低,尤其是读取数据量较大的hive表时。

________________________________
sean...@live.com

发件人: like<mailto:likeg...@163.com>
发送时间: 2019-08-27 17:15
收件人: user-zh@flink.apache.org<mailto:user-zh@flink.apache.org>
主题: kafka流与hive表join问题
请问一下各位大佬,如何保证先加载完hive表,然后再与流join,我发现在hive还没有加载完就已经有join的结果出来,这样刚开始出来的结果是不准确的,还有一个问题是hive表加载完之后不会再做checkpoint?我目前使用的是1.7.1版本,看了1.9的维表join,blink文档说(必须加上FOR
 SYSTEM_TIME AS OF 
PROCTIME(),表示JOIN维表当前时刻所看到的每条数据),这也就意味着跟我现在一样,没有加载完hive就会join输出了?



回复