MRS Hive数据源
支持的版本
本数据集成服务全面支持华为云大数据MRS Hive产品,支持Hive主流版本,可满足不同用户在多种部署环境下的数据同步需求。
使用前准备及限制
- 网络要求
MRS Hive数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 权限要求
- Hive读写权限
- 读权限:如果需要从Hive读取数据,需要为数据集成服务的IAM用户或用户组授予Hive的只读权限,如MRS ReadOnlyAccess系统策略,或者根据具体需求创建自定义策略,授予如SELECT等读取相关操作的权限。
- 写权限:如果需要向Hive写入数据,除了上述OBS权限外,还需要为数据集成服务的IAM用户或用户组授予Hive的写入权限,如MRS CommonOperations或MRS FullAccess系统策略,或者创建自定义策略,授予如INSERT INTO TABLE、CREATE TABLE等写入相关操作的权限。
- OBS权限(存算分析场景):当MRS Hive开启存算分析,数据集成服务将与OBS进行读写文件交付,需要拥有OBS文件的读写权限。
- 访问端口放通:在配置MRS Hive数据源时,需要确保以下端口在安全组或自有网络已经放通,以供数据集成服务访问MRS使用。
表1 各服务端口说明 服务
端口类型
端口号
用途
MRS Manager
TCP
28443
下载MRS集群配置。
20009
CAS认证端口。
20029
Manager与其他组件之间的通信和管理操作。
KDC
TCP&&UDP
21730
Kerberos认证使用。
21731
Kerberos认证使用。
21732
Kerberos认证使用。
HDFS
TCP
8020
HDFS NameNode服务端口。
9866
HDFS dataNode服务端口。
Hive
TCP
10000
HiveServer服务端口,用于客户端与HiveServer之间的通信。
9083
Hive Metastore服务端口,用于存储和管理Hive的元数据信息。
Zookeeper
TCP
2181
Zookeeper服务端口,用于客户端与Zookeeper集群之间的通信。
- Hive读写权限
支持的数据类型
以MRS Hive为基准,本数据集成服务兼容以下字段类型及其常见变体,确保在读写操作中能够准确处理各类数据:
|
类别 |
字段类型 |
MRS Hive 读取 |
|---|---|---|
|
字符串类 |
CHAR |
√ |
|
VARCHAR |
√ |
|
|
STRING |
√ |
|
|
整数类 |
TINYINT |
√ |
|
SMALLINT |
√ |
|
|
INT |
√ |
|
|
INTEGER |
√ |
|
|
BIGINT |
√ |
|
|
浮点类 |
FLOAT |
√ |
|
DOUBLE |
√ |
|
|
DECIMAL |
√ |
|
|
日期时间类 |
TIMESTAMP |
√ |
|
DATE |
√ |
|
|
布尔型 |
BOOLEAN |
√ |
|
二进制 |
BINRAY |
√ |
|
复杂类型 |
ARRAY |
√ |
|
MAP |
√ |
|
|
STRUCT |
x |
|
|
UNIONTYPE |
x |
支持的迁移场景
数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:
- 单表同步
适用于数据入湖和数据上云场景下,表或文件级别的数据同步。支持的数据源类型请参考表/文件同步支持的数据源类型。
- 分库分表同步
适用于数据入湖和数据上云场景下,多库多表同步场景。支持的数据源类型请参考分库分表同步支持的数据源类型。
- 整库迁移
适用于数据入湖和数据上云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。
需要注意的是,分库分表与整库迁移能力会根据不同 region 的上线支持情况有所不同,具体支持情况以页面为准。以下是针对Hive的支持迁移场景概览:
|
支持迁移场景 |
单表读取 |
单表写入 |
分库分表读取 |
分库分表写入 |
整库读取 |
整库写入 |
|---|---|---|---|---|---|---|
|
是否支持 |
√ |
√ |
x |
√ |
x |
√(仅部分region支持) |
核心能力速览
- 连接配置
配置项
支持情况
说明
kerberos认证
√
通过Kerberos认证方式访问MRS集群。
存算分离
√
支持存算分离架构,读取OBS/HDFS多种不同Hive存储文件系统能力。
- 读取能力
配置项
支持情况
说明
读取方式
JDBC/HDFS
支持通过 JDBC 或直接读取 HDFS 文件。JDBC 适用于交互式查询,利用 SQL 语法灵活读取;直接读取 HDFS 适用于大规模数据批量读取,绕过 SQL 解析,效率更高。
分片并发
√
支持水平分片,多线程并行抽取,显著提升吞吐效率。当前仅支持在HDFS读取方式下通过文件进行并发读取。
自定义字段
x
可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求,暂不支持。
脏数据处理
√
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。
增量读取
√
支持分区过滤或通过sql方式的增量读取。
- 写入能力
配置项
支持情况
说明
写入方式
Insert into/Insert overwrite
支持 Insert into 和 Insert overwrite 两种写入方式。Insert into 是向目标表追加数据,适用于数据的增量写入;Insert overwrite 是覆盖目标表或分区的数据,适用于数据的全量更新。
导入前后处理
√
支持Truncate方式对选用分区进行清空。
脏数据处理
x
支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败,暂不支持。
并发写入
√
并发写入可以充分利用集群资源,提高数据写入的速度。
创建数据源
在DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接。
创建数据集成离线作业
在DataArts Studio数据开发中新建MRS Hive集成作业,详情请参见新建离线处理集成作业。