更新时间:2024-04-09 GMT+08:00
分享

配置共部署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计算实例。

HetuEngine服务在安装时已经将共部署的Hive数据源默认实现对接,数据源名称为“hive”,不可删除,部分默认配置不可修改,不可修改的配置发生更新时,重启HetuEngine服务可以自动同步。

如果需要使用Hive Metastore隔离功能,需要在Hive侧配置“HIVE_METASTORE_URI_HETU”,配置完成后需在HetuEngine服务重启Hsbroke实例,刷新Hive Metastore URI信息。

操作步骤

  1. 使用HetuEngine管理员用户登录Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
  2. 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
  3. 单击“数据源”,在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)

  4. (可选)如果用户需添加“自定义配置”,可参考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)优化

    定期通过Analyze命令收集表统计信息有助于Hive连接器CBO优化。

  • 动态过滤

    开启动态过滤有助于Hive连接器的Join算子的计算优化。可参考调整动态过滤

  • 带分区条件查询

    建立分区表并且查询带分区过滤条件有助于过滤部分分区数据,从而提高性能。

  • Insert优化

    通过设置“task.writer-count”的值为“1”和增大“hive.max-partitions-per-writers”的值有助于提升Insert性能。可参考调整INSERT写入优化

约束

  • DELETE语法可以删除整个表的数据,或者分区表的指定分区。
  • Hive元数据库不支持Schema重命名,即不支持ALTER SCHEMA RENAME语法。
分享:

    相关文档

    相关产品