简介
为了实现hive, trino等组件实时查询hudi表的数据,可以通过使用Hive sync。在Flink操作表的时候,自动同步Hive的元数据。Hive metastore通过目录结构的来维护元数据,数据的更新是通过覆盖来保证事务。但是数据湖是通过追踪文件来管理元数据,一个目录中可以包含多个版本的文件。这一点和Hive元数据管理是不同的。所以说为了兼容Hive metastore,Hudi需要实时从Timeline同步元数据到Hive metastore。
步骤
第一步:将hudi的jar包分发到各个节点的hive的auxlib下hudi-hadoop-mr-bundle-0.10.0.jar(自行选择对应的版本)
或者 修改配置项 hive-site.xml
hive.default.aux.jars.path hive.aux.jars.path
// 示例:
<name>hive.default.aux.jars.path</name>
<value>
file:///mypath/hudi-hadoop-mr-bundle-0.9.0xxx.jar,file:///mypath/hudi-hive-sync-bundle-0.9.0xx.jar
</value>