直接使用Hive Catalog
1)上传hive connector到flink的lib中
hive3.1.3的connector存在guava版本冲突,需要解决:官网下载connector后,用压缩软件打开jar包,删除/com/google文件夹。处理完后上传flink的lib中
2)解决与hadoop的冲突
避免与hadoop的冲突,拷贝hadoop-mapreduce-client-core-3.1.3.jar到flink的lib中(5.2.1已经做过)
3)创建catalog
CREATE CATALOG hive_catalog
WITH (
'type' = 'hive',
'default-database' = 'default',
'hive-conf-dir' = '/opt/module/hive/conf',
'hadoop-conf-dir'='/opt/module/hadoop-3.1.3/etc/hadoop'
);
use catalog hive_catalog;
-- hive-connector内置了hive module,提供了hive自带的系统函数
load module hive with ('hive-version'='3.1.2');
show modules;
show functions;
-- 可以调用hive的split函数
select split('a,b', ',');
Hudi Catalog使用hms
CREATE CATALOG hoodie_hms_catalog
WITH (
'type'='hudi',
'catalog.path' = '/tmp/hudi_hms_catalog',
'hive.conf.dir' = '/opt/module/hive/conf',
'mode'='hms',
'table.external' = 'true'
);