更新时间:2026-08-13 GMT+08:00

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支持的数据源类型。

类型分类

Hive数据类型

读取是否支持

字符串类

CHAR

√

VARCHAR

√

STRING

√

整数类

TINYINT

√

SMALLINT

√

INT

√

INTEGER

√

BIGINT

√

浮点类

FLOAT

√

DOUBLE

√

DECIMAL

√

日期时间类

TIMESTAMP

√

DATE

√

布尔型

BOOLEAN

√

二进制

BINARY

√

复杂类型

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集成作业,详情请参见新建离线处理集成作业。