Hudi同步Hive表报“Cannot create hive connection jdbc:hive2://localhost:10000/”错误的解决方法

让Hudi自动同步元数据到Hive Metastore,我们需要对Hudi进行一些必要的配置,根据官方文档( https://hudi.apache.org/docs/configurations.html#hive-sync-options )给出的说明,标准的Hudi Hive Sync配置应该是这样的:

首先是最基本的三项:

DataSourceWriteOptions.HIVE_SYNC_ENABLED_OPT_KEY -> "true"
DataSourceWriteOptions.HIVE_DATABASE_OPT_KEY -> "your-target-database"
DataSourceWriteOptions.HIVE_TABLE_OPT_KEY -> "your-target-table"

这三项很容易理解,就是告诉Hudi要开启Hive Sync,同时指定同步到Hive的什么库的什么表。

此外,对于分区表需要追加以下几项:

DataSourceWriteOptions.KEYGENERATOR_CLASS_OPT_KEY -> classOf[ComplexKeyGenerator].getName
DataSourceWriteOptions.HIVE_PARTITION_EXTRACTOR_CLASS_OPT_KEY -> classOf[MultiPartKeysValueExtractor].getName
DataSourceWriteOptions.HIVE_STYLE_PARTITIONING_OPT_KEY -> "true"
DataSourceWriteOptions.PARTITIONPATH_FIELD_OPT_KEY -> "your-partition-path-field"
DataSourceWriteOptions.HIVE_PARTITION_FIELDS_OPT_KEY -> "your-hive-partition-field"

对于非分区表需要追加以下几项:

DataSourceWriteOptions.KEYGENERATOR_CLASS_OPT_KEY -> classOf[NonpartitionedKeyGenerator].getName
DataSourceWriteOptions.HIVE_PARTITION_EXTRACTOR_CLASS_OPT_KEY -> classOf[NonPartitionedExtractor].getName

在常规Hadoop/Spark集群上,完成上述配置之后Hudi Hive Sync就可以正常工作了,但是有时你可能会遇到这样一个错误:

Cannot create hive connection jdbc:hive2://localhost:10000/

原因Hudi的Hive Sync默认是通过JDBC连接HiveServer2执行建表操作的,而jdbc:hive2://localhost:10000/是默认的Hive JDBC连接字符串。

当你的HiveServer2地址不是localhost,或者端口不是10000时,就会报出这个错误!修复的方法也很简单,就是将配置项hive_sync.jdbc_urlDataSourceWriteOptions.HIVE_URL_OPT_KEY)改为你环境下的正确的服务器地址和端口。

当然,你也可以尝试另一种方式,直接禁用JDBC,例如在Glue环境下,是没有HiverServer2的,所以必须disable,即,在Hudi中添加如下配置:

DataSourceWriteOptions.HIVE_USE_JDBC_OPT_KEY -> "false"

关于Glue和Hudi有集成,请移步:AWS Glue集成Apache Hudi同步元数据深度历险(各类错误的填坑方案)


推荐:博主历时三年倾注大量心血创作的《大数据平台架构与原型实现:数据中台建设实战》一书已由知名IT图书品牌电子工业出版社博文视点出版发行,真诚推荐给每一位读者!点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,扫码进入京东手机购书页面!
在这里插入图片描述

bluishglc CSDN认证博客专家 CSDN博客专家 架构师
架构师,CSDN博客专家,14年IT系统开发和架构经验,对大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计有丰富的实践经验。对Hadoop/Spark 生态系统有深入和广泛的研究,参与过Hadoop商业发行版的开发,目前负责企业数据中台的架构设计和开发工作,热衷函数式编程,著有《大数据平台架构与原型实现:数据中台建设实战》一书。
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页