一、写数据

  向Hive中写数据只尝试了流数据写入Hive,毕竟批数据写入数仓的场景并不多,Flink 1.11对于Hive流处理的支持还是改善很多的,用起来也很方便。

  1、可以直接将流数据转换为Table写入hive(测试环境下采用文件写入DataStream,再转换为Table); 

  2、可以create table name with()直接衔接kafka等数据流。

二、读数据

  读数据可以采用HQL操作获得Table,但是要注意该Table源自StreamTableSource,是不可转换为DataSet的。由于在调研Alink,算法训练需要批数据的输入,所以对于刚入门Flink的新手比较难办。尝试了一些办法,最终采用了很早之前就有的HCatalog获取DataSource,这样就不愁DataSet的需要了,不过HCatalog的相关文档比较少,还不是很会用,主要调试以下几点:

  1、hive-site.xml文件记得导入,同时需要更改其中的verification的值为false;

  2、需要增加hive-shims、hive-hcatalog-core依赖包。hive的依赖包会有重叠,可以视情况从maven库中删掉些