Apache-Hive数据源
本数据集成服务支持开源Apache-Hive产品,支持Hive主流版本,可满足不同用户在多种部署环境下的数据同步需求。
使用前准备及限制
- 网络要求
Apache-Hive数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 访问端口放通:在配置Apache-Hive数据源时,需要确保以下端口在安全组或自有网络已经放通,以供数据集成服务访问MRS使用。
表1 各服务端口说明 服务
端口类型
端口号
用途
Hive
TCP
10000
HiveServer的 JDBC/ODBC 接口,供数据集成服务提交 SQL、拉取结果。
Hive
TCP
9083
Hive Metastore 接口,供 HiveServer获取库、表、分区等元数据。
HDFS
TCP
8020
NameNode RPC,客户端建立文件系统上下文、获取块位置。
HDFS
TCP
9866
DataNode 数据传输,真正读写表文件(ORC/Parquet 等)的流式端口。
Zookeeper
TCP
2181
高可用 HiveServer/Metastore 及 HDFS NameNode HA 依赖的 ZK quorum。
支持的数据类型
|
类型分类 |
Hive数据类型 |
读取是否支持 |
|---|---|---|
|
字符串类 |
CHAR |
√ |
|
VARCHAR |
√ |
|
|
STRING |
√ |
|
|
整数类 |
TINYINT |
√ |
|
SMALLINT |
√ |
|
|
INT |
√ |
|
|
INTEGER |
√ |
|
|
BIGINT |
√ |
|
|
浮点类 |
FLOAT |
√ |
|
DOUBLE |
√ |
|
|
DECIMAL |
√ |
|
|
日期时间类 |
TIMESTAMP |
√ |
|
DATE |
√ |
|
|
布尔型 |
BOOLEAN |
√ |
|
二进制 |
BINRAY |
√ |
|
复杂类型 |
ARRAY |
√ |
|
MAP |
√ |
|
|
STRUCT |
x |
|
|
UNIONTYPE |
x |
支持的迁移场景
数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:
- 单表同步
适用于数据入湖和数据上云场景下,表或文件级别的数据同步。支持的数据源类型请参考单表支持的数据源类型。
- 分库分表同步
适用于数据入湖和数据上云场景下,多库多表同步场景。支持的数据源类型请参考分库分表同步支持的数据源类型。
- 整库迁移
适用于数据入湖和数据上云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。
需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对Apache-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数据开发中新建Apache-Hive集成作业,详情请参见新建离线处理集成作业。