配置共部署Hive数据源
操作场景
本章节指导用户在HSConsole界面配置与HetuEngine在一个Hadoop集群的Hive类型数据源。
HetuEngine目前支持对接的数据格式包括:avro、text、rctext、orc、parquet、sequencefile。
HetuEngine对接Hive数据源,不支持指定多分隔符建表,但对于在Hive数据源中指定MultiDelimitSerDe类作为序列化类来创建text数据格式的多分隔符表,可以通过HetuEngine查询,其他场景不支持。
HetuEngine对接的Hive数据源支持Hudi表重定向功能。适用于MRS 3.3.0及以后版本。该功能支持在Hive connector访问Hudi表时重定向到Hudi connector,从而使用Hudi connector高级功能。使用该功能需提前配置目标Hudi数据源,并确保Hudi数据源与当前Hive数据源的Metastore URL一致,并在Hive数据源中配置“开启Hudi重定向”参数即可。
前提条件
HetuEngine服务在安装时已经将共部署的Hive数据源默认实现对接,数据源名称为“hive”,不可删除,部分默认配置不可修改,不可修改的配置发生更新时,重启HetuEngine服务可以自动同步。
如果需要使用Hive Metastore隔离功能,需要在Hive侧配置“HIVE_METASTORE_URI_HETU”,配置完成后需在HetuEngine服务重启Hsbroke实例,刷新Hive Metastore URI信息。
操作步骤
- 使用HetuEngine管理员用户登录Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 单击“数据源”,在hive数据源所在行的“操作”列下单击“编辑”,在页面内修改配置,可修改配置如下表。
参数
描述
取值样例
开启数据源鉴权
是否同时使用Hive数据源的权限策略进行鉴权。
HetuEngine服务Ranger不启用时必须选“是”,Ranger启用后选“否”。
否
yarn-site文件
在数据源客户端Yarn/config路径下获取,只有对接Hudi数据源的时候才需要上传此文件。
配置Hive数据源请勿修改此项参数。
-
开启Hudi重定向
适用于MRS 3.3.0及以后版本
已配置与当前Hive数据源的Metastore URL一致的目标Hudi数据源时可配置此功能。
开启后可以在Hive connector访问Hudi表时重定向到Hudi connector,从而使用Hudi connector高级功能。
否
Hudi数据源名称
适用于MRS 3.3.0及以后版本
开启Hudi重定向时需配置目标Hudi数据源。
下拉框中显示所有已配置的Hudi数据源,只能选择满足Metastore URL条件的Hudi数据源。
-
是否开启连接池
访问hive metastore时是否开启连接池。默认“是”。
是
最大连接数
访问hive metastore时连接池的最大连接数。
50(取值范围20~200)
- (可选)如果用户需添加“自定义配置”,可参考6.g配置完成后单击“确定”保存配置。
数据类型映射
目前Hive数据源支持的数据类型为:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、REAL、DOUBLE、DECIMAL、NUMERIC、DEC、VARCHAR、VARCHAR(X)、CHAR、CHAR(X)、STRING、DATE、TIMESTAMP、TIME WITH TIMEZONE、TIMESTAMP WITH TIME ZONE、TIME、ARRAY、MAP、UNIOMTYPE、STRUCT、ROW。
性能优化
- 元数据缓存
Hive连接器支持元数据缓存,以便更快地提供对各种操作的元数据请求。可参考调整元数据缓存。
- CBO(Cost based Optimizer)优化
- 动态过滤
开启动态过滤有助于Hive连接器的Join算子的计算优化。可参考调整动态过滤。
- 带分区条件查询
- Insert优化
通过设置“task.writer-count”的值为“1”和增大“hive.max-partitions-per-writers”的值有助于提升Insert性能。可参考调整INSERT写入优化。
约束
- DELETE语法可以删除整个表的数据,或者分区表的指定分区。
- Hive元数据库不支持Schema重命名,即不支持ALTER SCHEMA RENAME语法。