本文档将手把手的指引您完成 MySQL 离线同步至 Hive 的流程操作,大体的流程如下:
一、数据源兼容情况。
二、MySQL 环境准备。
三、Hive 环境准备。
四、WeData 前置准备。
五、离线单表:MySQL 同步至 Hive 配置步骤。
六、离线节点高级参数。
七、常见问题。
一、数据源兼容情况
MySQL 数据源
如果您想使用 MySQL 进行离线数据同步操作,需要先确认 MySQL 数据源版本支持情况及支持的读取数据类型转换。
支持版本
需遵循以下版本限制:
类型 | 版本 | Driver |
MySQL | 5.6,5.7,8.0.x | JDBC Driver:8.0.21 |
RDS MySQL | 5.6,5.7, 8.0.x | |
PolarDB MySQL | 5.6,5.7,8.0.x | |
Aurora MySQL | 5.6,5.7,8.0.x | |
MariaDB | 10.x | |
PolarDB X | 2.0.1 | |
MySQL 读取数据类型转换
MySQL 读取支持的数据类型及类型转换对应关系如下(在处理 MySQL 时,会先将 MySQL 数据源的数据类型和数据处理引擎的数据类型做映射):
Mysql 数据类型 | 内部类型 |
int, tinyint, smallint, mediumint, int, bigint | Long |
float, double, decimal | Double |
varchar, char, tinytext, text, mediumtext, longtext, year | String |
date, datetime, timestamp, time | Date |
bit, bool | Boolean |
tinyblob, mediumblob, blob, longblob, varbinary | Bytes |
Hive 数据源
如果您想使用 Hive 进行离线数据同步操作,需要先确认 Hive 数据源版本支持情况及支持的写入数据类型转换。
支持版本
需遵循以下版本限制:
数据源 | 支持版本 |
Hive | 2.1.1、2.3.2、2.3.5、2.3.8、2.3.9、3.1.1、3.1.2、3.1.3 |
Hive 写入数据类型转换
Hive 写入支持的数据类型及类型转换对应关系如下(在处理 Hive 的时候,会将 Hive 数据源的数据类型和数据处理引擎的数据类型做映射):
内部类型 | Hive 数据类型 |
Long | TINYINT,SMALLINT,INT,BIGINT |
Double | FLOAT,DOUBLE |
String | String,CHAR,VARCHAR,STRUCT,MAP,ARRAY,UNION,BINARY |
Boolean | BOOLEAN |
Date | Date,TIMESTAMP |
二、MySQL 环境准备
确认 MySQL 版本
数据集成对 MySQL 版本有要求,查看当前待同步的 MySQL 是否符合版本要求。您可以在 MySQL 数据库通过如下语句查看当前 MySQL 数据库版本。
select version();
设置 MySQL 服务器权限
您可以定义一个具有适当权限的 MySQL 用户。
1. 创建 MySQL 用户(可选):
mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
2. 向用户授予所需的权限:
在离线同步的情况下,该账号必须拥有数据库的 SELECT 权限。执行命令可以参考下面:
mysql> GRANT SELECT ON *.* TO 'user' IDENTIFIED BY 'password';
3. 刷新用户的权限:
mysql>FLUSH PRIVILEGES;
添加腾讯云 MySQL 数据库安全组
安全组是一种有状态的包含过滤功能的虚拟防火墙,用于设置单台或多台云数据库的网络访问控制,是腾讯云提供的重要的网络安全隔离手段。如果您使用的腾讯云 MySQL 数据库高于基础版,您需要将下列访问 IP 加到目标数据库的安全组中。
118.89.220.0/24, 139.199.116.0/24, 140.143.68.0/24, 152.136.131.0/24, 81.70.150.0/24, 81.70.161.0/24, 81.70.195.0/24, 81.70.198.0/24, 82.156.22.0/24, 82.156.221.0/24, 82.156.23.0/24, 82.156.24.0/24, 82.156.27.0/24, 82.156.82.0/24, 82.156.84.0/24, 82.157.119.0/24
三、Hive 环境准备
如果您在配置存算引擎时,配置了 EMR 作为计算引擎会为您分配一个系统的 Hive 数据源,如果您想自定义 Hive 数据源需要提前准备如下相关文件,用于在 WeData 上进行数据源配置:
core-site.xml、hdfs-site.xml:在 EMR 机器的 /usr/local/service/hadoop/etc/hadoop 目录下。
hive-site.xml:在 /usr/local/service/hive/conf/ 下。
四、WeData 前置准备
在正式配置同步任务之前,需要创建一个项目。如下基于一个全新的环境讲解相关步骤,如果您已经创建了项目成员或完成了项目创建可以跳过。
项目创建
如果您还没有在数据开发治理平台 WeData 创建过项目空间,在进行数据同步任务之前需完成项目创建。
创建项目空间,需要进入 WeData 首页,单击项目列表 > 创建项目。 如果只是做数据集成,此处可以选择仅创建项目,输入项目标识和名称即可。
添加成员
1. 单击项目管理 > 成员与角色管理,进入成员与角色管理界面,单击添加按钮。
2. 在添加成员界面,为新创建的成员设置所需角色,设置完成后,该成员便可以进入项目了。
资源组准备
确认资源组是否配置
在正式进行数据集成任务之前,请确认您所在的项目是否已配备集成资源。
如果提示未配置集成资源,则无法正常运行数据集成任务。
当您创建完新项目,在执行资源组这一列会显示集成资源未配置,只需要前往 WeData 首页执行资源组 > 集成资源组为新项目关联资源即可。
进入集成资源组界面,点击对应资源组后的关联项目。
集成资源组购买
如果发现目前没有集成资源组,需要前往购买。集成资源组是在运行数据集成任务时专享使用到的计算资源,本资源主要以资源组形式展现。在配置同步任务之前需要确认是否购买了数据集成资源组。详情请参见 配置集成资源组。
网络连通性确认
当配置完成集成资源组,需要保证数据源网络(包括读端、写端)与数据集成资源组之间网络互通,且资源不可因为白名单限制等原因被拒绝访问,否则无法完成数据传输同步。数据集成资源组内包含的机器资源默认需处于同一 VPC 网络环境下:
若数据源处于 VPC 内:
若与集成资源位于同一 VPC:可直接使用。
若与集成资源位于不同 VPC:需购买 对等连接 打通集成与数据源所在 VPC。
说明:
数据源配置
MySQL 数据源配置
进入配置数据源界面,MySQL 数据源支持云实例和连接串两种连接方式。
单击项目管理 > 数据源管理 > 新建数据源 > 选择 MySQL 数据源。
通过连接串创建数据源。
参数 | 说明 |
连接类型 | 选择连接串的数据源连接形式 |
所属项目 | 当前数据源创建时的归属项目 |
数据源名称 | 新建的数据源的名称,由用户自定义且不可为空。命名以字母开头,可包含字母、数字、下划线。长度在20字符以内 |
显示名 | 数据源在产品中使用时的显示名称,不填默认显示数据源名称 |
描述 | 选填,对本数据源的描述 |
部署方式 | 支持自建实例、公网实例两种部署方式,其中自建实例为在腾讯云服务器上部署的数据源实例,公网实例为在客户本地IDC或其他云上资源实例,支持通过公网进行访问连接。 |
区域与网络 | 当选择自建实例时,需要选择数据源实例所在地域与 vpcID。 |
JDBC URL | 用于连接 MySQL 数据源实例的连接串信息,包含 host ip、port、数据库名称等信息。 |
用户名 | 连接数据库的用户名称 |
密码 | 连接数据库的密码 |
数据连通性(旧) | 测试是否能够连通所配置的数据库 说明: 若连通性测试不通过,数据源仍可保存。连通性测试未通过而保存但数据源不可使用。 如果连通性测试不通过,可能是因为 WeData 被数据库所在网络防火墙禁止,需要添加腾讯云 MySQL 数据库安全组,可以参考章节二 添加腾讯云 MySQL 数据库安全组。 2024年春节后新购买的WeData默认无此功能,该功能已升级为资源组连通性。 |
资源组连通性(新) | 支持具体资源组与数据源的连通性测试。用户只需保证自身数据源和集成资源组所在VPC网络能通即可,无需做额外的网络打通。 说明: 2024年春节前购买 WeData 的用户无此功能,若需要使用,请联系腾讯侧运维人员处理。 |
Hive 数据源配置
Hive 数据源分系统源和自定义源。系统源是绑定 EMR 引擎后自动生成的数据源,用户可直接用,但不能删除和编辑连接信息,同一个 EMR 集群只会生成一个 Hive 系统源;自定义源类似上面的MySQL,由用户自己注册,可按需注册多个 Hive 自定义源。
Hive 系统源
Hive 自定义源
单击项目管理 > 数据源管理 > 新建数据源 > 选择 Hive 数据源。
通过连接串创建数据源。
参数 | 说明 |
数据源名称 | 新建的数据源的名称,由用户自定义且不可为空。命名以字母开头,可包含字母、数字、下划线。长度在20字符以内。不可修改 |
描述 | 选填,对本数据源的描述。 |
数据源权限 | 项目共享表示当前数据源项目所有成员均可使用 ,仅个人和管理员表示该数据源仅创建人和项目管理员可用。 |
部署方式 | 可以选择自建实例或者公网实例的部署方式 |
Hive 版本 | 所使用的 Hive 软件的特定版本号 |
区域和网络 | 选择区域和网络 |
Hive Server 2链接地址 | 是 Hive Server 2的数据库连接(JDBC)URL,用于指定客户端如何连接到 Hive 服务。格式通常包括协议 jdbc:hive2://,后跟主机地址 host,端口号 port,以及默认连接的数据库名 database。 |
用户名 | 连接数据库的用户名称。 |
密码 | 连接数据库的密码。 |
zookeeper 连接 | 指示是否通过 Zookeeper 进行连接。启用时,可以使用 Zookeeper 来管理分布式环境中的 Hive Server 2实例 |
zookeeper 连接地址 | 填写样例:jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 |
Hive 元数据地址 | Hive 元数据存储的网络地址,通常是指向 Hive Metastore 服务的地址。 |
Hive MetaDB | 指示是否启用对 Hive 元数据数据库的连接。元数据数据库存储了 Hive 中所有表和列的信息。 |
Hive MetaDB IP 及 端口 | 启用 Hive MetaDB 后,需要配置 IP 和端口,IP 和端口是用于指定 Hive MetaDB 服务器的位置和访问端口 |
数据库名称 | 启用 Hive MetaDB 后,需要配置您在 Hive MetaDB 中创建的,用于存储 Hive 元数据的数据库的名称 |
用户名 | 连接到 Hive MetaDB 的数据库账户名 |
密码 | 密码是与上述用户名关联的账户密码。在配置 Hive 时,您需要提供正确的密码以验证身份并授权对 MetaDB 的访问。 |
core-site.xml 文件 | Hadoop 的核心配置文件,包含系统的基础设置,如安全设置和 Hadoop 运行时的 I/O 设置。若该数据源作为写入节点,该参数必填! |
hdfs-site.xml 文件 | Hadoop 分布式文件系统(HDFS)的配置文件,包含了 HDFS 的具体配置信息,如副本策略、权限设置等。若该数据源作为写入节点,该参数必填! |
hive-site.xml 文件 | Hive 的配置文件,包含了 Hive 运行时的配置信息,如 Metastore 的连接信息、存储路径等。若该数据源作为写入节点,该参数必填! |
认证方式 | 指定连接 Hive 时使用的认证方式。可以选择“无”表示不使用认证,或者选择“Kerberos”表示使用 Kerberos 认证协议进行安全认证 |
keytab 文件 | 当启用 Kerberos 认证时,需配置 keytab 文件,keytab 文件包含了用于 Kerberos 身份验证的密钥表。 |
conf 文件 | 当启用 Kerberos 认证时,需配置 conf 文件。conf 文件是 Hive 的配置文件,其中包含了 Hive 运行所需的各种配置参数、Kerberos 相关的配置信息 |
principal | 当启用 Kerberos 认证时,还需要指定 Hive 服务的 principal,以便 Kerberos 能够验证 Hive 服务的身份。 |
数据连通性(旧) | 测试是否能够连通所配置的数据库。 说明: 若连通性测试不通过,数据源仍可保存。连通性测试未通过而保存但数据源不可使用。 2024年春节后新购买的 WeData 默认无此功能,该功能已升级为资源组连通性。 |
资源组连通性(新) | 支持具体资源组与数据源的连通性测试。用户只需保证自身数据源和集成资源组所在VPC网络能通即可,无需做额外的网络打通。 说明: 2024年春节前购买 WeData 的用户无此功能,若需要使用,请联系腾讯侧运维人员处理。 |
五、离线单表:MySQL 同步至 Hive 配置步骤
表单模式:仅提供读取、写入节点,适用于单表至单表固定字段同步。适用于 ODS 层无需数据清洗环节的数据同步。
画布模式:提供读取、写入、转换三类节点。适用于包含清洗环节链路。
脚本模式:支持初始化的脚本模式配置页面,支持用户选择不同的数据来源、数据目标,展示对应的脚本模板:
用户需要先选择数据来源与数据目标,未选择的状态下不允许编辑。
选择后,展示对应的脚本模块。
在脚本中,用户可以手动编写数据源、连接信息等参数。
支持在脚本中写 sql 语句,将 querysql 写到 connection 中。
本示例使用表单模式讲解配置步骤。
步骤一:MySQL 读取节点配置
以表单模式为例,阐述 MySQL 读取节点配置详情。
参数 | 说明 |
数据源 | 可用的 MySQL 数据源。 |
库 | 支持选择、或者手动输入需读取的库名称 默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。 当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
表 | 支持选择、或者手动输入需读取的表名称 分表情况下,可在 mysql 源端支持选择或输入多个表名称,多个表需保证结构一致。 分表情况下,支持配置表序号区间。例如 'table_[0-99]' 表示读取 'table_0'、'table_1'、'table_2' 直到 'table_99' ; 如果您的表数字后缀的长度一致,例如 'table_000'、'table_001'、'table_002' 直到 'table_999',您可以配置为 '"table": ["table_00[0-9]", "table_0[10-99]", "table_[100-999]"]' 。 当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
添加分库分表 | 适用于分库场景,单击后可配置多个数据源、库及表信息。分库分表场景下需保证所有表结构一致,任务配置将默认展示并使用第一个表结构进行数据获取。 |
切割键 | 指定用于数据分片的字段,指定后将启动并发任务进行数据同步,提升数据同步效率。您可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键,仅支持类型为整型的字段。 |
筛选条件(选填) | 在实际业务场景中,往往会选择当天的数据进行同步,将 where 条件指定为 gmt_create>$bizdate。where 条件可以有效地进行业务增量同步。 如果不填写 where 语句,包括不提供 where 的 key 或 value,数据同步均视作同步全量数据。 不可以将 where 条件指定为 limit 10,这不符合 MySQL WHERE 子句约束。 |
高级设置(选填) |
步骤二:Hive 写入节点配置
参数 | 说明 |
数据源 | 需要写入的 Hive 数据源。 |
库 | 支持选择、或者手动输入需写入的库名称 默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。 当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
表 | 支持选择、或者手动输入需写入的表名称 当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
是否清空表 | 在写入该 Hive 数据表前可以手动选择是否清空该数据表。 |
写入模式 | Hive 写入支持三种模式: Append:保留原始数据, 新行追加写入 nonConflict:数据冲突时报错 Overwrite:删除原有数据重新写入 writeMode 是高危参数,请您注意数据的写出目录和写入模式,避免误删数据。加载数据行为需要配合 hiveConfig 使用,请注意您的配置。 |
批量提交大小 | 一次性批量提交的记录数大小,该值可以极大减少数据同步系统与Hive 的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程 OOM 异常。 |
前置 SQL(选填) | 执行同步任务之前执行的 SQL 语句,根据数据源类型对应的正确 SQL 语法填写 SQL,例如,执行前清空表中的旧数据(truncate table tablename)。 |
后置 SQL(选填) | 执行同步任务之后执行的 SQL 语句,根据数据源类型对应的正确 SQL 语法填写 SQL,例如,加上某一个时间戳 alter table tablename add colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。 |
高级设置 |
步骤三:配置字段映射
由于源数据库和目标数据库的表结构可能不完全相同,例如字段名称、数据类型或者字段顺序可能有所差异。字段映射可以将源数据库的字段转换为目标数据库相应的字段,确保数据能够正确地同步到目标数据库。
字段映射关系旨在通过连线的方式指定目标字段内容的来源,支持同名映射、同行映射、以及手动连线三种方式配置来源与目标节点间关系。
步骤四:配置任务属性
完成同步信息配置后,需要设置任务基本属性、使用资源以及数据链路通道信息。
类别 | 参数 | 说明 |
基本属性 | 任务名称/类型 | 展示当前任务名称及类型基本信息。 |
| 责任人 | 对此任务负责的一个或多个空间成员名称,默认为任务创建者。 |
| 描述 | 展示当前任务备注信息。 |
| 调度参数 | 调度参数是任务调度时使用的参数,会根据任务调度的业务时间及调度参数的取值格式自动替换取值,实现在任务调度时间内参数的动态取值 |
资源配置 | 集成资源组 | 指定当前任务使用的集成资源组名称,一个任务仅可绑定一个资源组。 |
任务运行策略 | 关联告警 | 支持对当前任务关联告警规则 |
通道设置 | 脏数据阈值 | 脏数据是指同步过程中写入失败的数据脏数据阈值是指同步中可容忍的最大脏数据条或字节数,一旦超过该阈值,任务将自动结束。默认阈值为0,即不容忍脏数据。 |
| 并发数 | 实际执行时期望任务的最大并发数,实际执行时由于资源、数据源类型和任务优化结果等原因并发数可能小于等于此值。该值越大,预分配执行机资源越多。 注意:并发数>1时,如源端数据源支持设置切割键,则切割键为必填项,否则设置的并发数不生效。 |
| 同步速率限制 | 按照流量或记录条数限制同步速率以保护数据来源端或者数据去向端的读写压力。该值为最大运行速率,默认-1表示不限制速率。 |
步骤五:配置任务调度
为了任务执行时间能够符合预期,需要设置当前任务周期运行计划,包括调度时间及依赖属性。
类别 | 参数 | 说明 |
调度时间 | 调度方式 | 周期调度:任务根据配置调度计划周期运行。 一次性执行:任务仅在指定时间运行一次。 |
| 生效日期 | 调度时间配置的有效时间段,系统会在该时间范围内按照时间配置自动调度,超过有效期将不会再自动调度。 |
| 调度周期 | 调度计划间隔步长单位,支持年、月、周、天、小时、分钟: 分钟:需指定具体执行开始时间及间隔,任务将从每小时执行分钟开始,按时间间隔周期运行。如执行时间为02:00~23:59,间隔为5分钟,则任务将从02:00开始每隔5分钟运行一次实例。 小时:需指定具体执行开始、结束时间及间隔。如执行时间为02:20~05:00,间隔为1小时,则任务将在02:20、03:20、04:20分别运行一次。 天:需指定每天具体执行时刻,任务每天仅在该时刻运行。 周:需执行每周固定运行的天数(支持多选)以及时间。任务仅在指定当天的该时刻运行。 月:指定每月固定运行的号数及时间。若选择月末,将根据不同的月份取最后一天运行。 年:指定每年固定运行日期及时间。 |
依赖属性 | 自依赖 | 自依赖是指同一任务中不同实例之间的依赖关系: 有序串行:当前实例依赖前一个周期实例的状态。 无序串行:当前实例和前一个周期实例没有依赖关系,如果一个任务同时存在多个实例,系统随机选取一个实例运行。同时只有一个实例是运行状态。 并行:前一个周期实例和后一个周期实例之间没有依赖关系,如果一个任务同时存在多个实例,多个实例会同时运行。 |
| 重试等待时间 | 实例运行失败后,每次重试运行的最大等待时间间隔。若超过此值实例仍未重试运行,实例将被置为失败。 |
| 失败重试次数 | 实例运行失败后,最大重试次数。若过超过此值,任务将被置为失败。 |
步骤六:任务测试运行与提交
离线同步任务在配置完成后可进行在线测试运行或提交到生产调度环境中,目前可在任务配置页面支持保存、提交、测试运行、调试停止、锁定/解锁以及前往运维操作。
序号 | 参数 | 说明 |
1 | 保存 | 保存当前任务配置信息,包括数据节点配置、节点连线、任务属性和任务调度配置。 |
2 | 提交 | 将当前任务提交至生产环境,提交后任务将按调度属性周期运行,同时提交任务将在任务运维 > 离线运维生成任务及实例记录。 说明: 提交前任务将默认保存最新配置。 提交前任务将进行必要性检测,包括任务节点配置、任务连线、资源组等。若必要性检测不通过,任务将提交失败并提示。 |
3 | 测试运行 | 调试运行当前任务。 |
4 | 调试停止 | 终止当前正在测试运行中的任务。 |
5 | 锁定/解锁 | 默认创建者为首个持锁者,仅允许持锁者编辑任务配置及运行任务。若锁定者5分钟内没有编辑操作,其他人可单击图标抢锁,抢锁成功可进行编辑操作。 |
6 | 前往运维 | 根据当前任务名称快捷跳转至任务运维页面。 |
7 | 画布转换 | 将当前编辑模式转换成画布模式 |
8 | 脚本转换 | 将当前编辑模式转换成脚本模式 |
参数 | 说明 |
检测存在异常 | 支持跳过异常直接提交,或者终止提交。 |
检测仅存在警告及以下 | 可直接提交。 |
提交结果
任务提交中:
展示提交进度。
任务提交结果-成功:
展示任务提交成功结果。
展示任务提交失败原因:
失败原因返回。
步骤七:离线任务运维
任务列表页面以列表形式默认展示当前账号下所有提交到调度系统中的周期运行任务。
参数 | 说明 | |
任务名称 | | 当前记录归属对任务名称 |
责任人 | | 当前任务创建时配置的责任人名称 |
调度周期 | | 当前任务配置的周期调度频率 |
调度计划 | | 当前任务详细调度计划 |
运行状态 | | 当前任务的调度运行状态 调度中:任务已提交调度,处于正常调度中 已暂停:暂时中断当前任务调度,后续可重启 已停止:当前任务调度被终止 停止中:已对当前进行停止操作,状态扭转中 |
最近一次提交时间 | | 任务最近一次提交至调度系统的时间 |
操作 | 运行监控 | 包括任务指标统计、监控规则配置等说明:指标统计详见 离线同步指标统计,监控规则配置详见 告警订阅 |
| 查看实例 | 单击跳转至该任务的任务实例信息列表 |
| 补数据 | 对该任务进行批量补数据,仅对“调度中”的任务有效 |
| 启动 | 启动节点的调度任务,仅对“已暂停”和“已停止”的有效 |
| 暂停 | 暂停节点的调度任务,仅对“调度中”的有效暂停后任务将不会再生成新的实例,已生成实例将继续运行 |
| 删除 | 将该任务及任务下的所有实例一起删除,仅对“已停止”的任务有效 |
| 停止 | 对该节点任务所有“等待运行”和“运行中”的实例进行终止,并不再产生新的实例 |
| 告警设置 | 设置任务的告警信息,支持批量操作 |
| 修改责任人 | 修改任务的责任人,支持批量操作 |
六、离线节点高级参数
在配置读写节点时,可以配置高级设置,配置内容和使用场景如下所示:
离线类型 | 读/写 | 配置内容 | 适用场景 | 描述 |
mysql | 读 | splitFactor=5 | 单表 | 控制数据同步任务被分割的粒度。在数据同步过程中,如果同步的数据量很大,可能会导致单个任务处理起来效率低下或者占用过多资源。通过设置splitFactor,可以将一个大的数据同步任务分割成多个小任务来并行处理,从而提高同步效率和性能 |
hive | 写 | compress=none/snappy/lz4/bzip2/gzip/deflate | 单表 | 默认为 none。只对 textfile 格式有效,对 orc/parquet 无效(orc/parquet 需要在建表语句指定压缩) |
| 写 | format=orc/parquet | 单表 | hdfs 临时文件的格式,默认为 orc,跟最终 hive 表格式无关 |
配置读写节点高级参数时,可以参考下图引导:
七、常见问题
1. Hive On CHDFS表写入报错:Permission denied: No access rules matched
错误原因:
数据集成资源组是全托管资源组,资源组的出口网段非客户的 VPC 内网网段,需要对数据集成资源组放开安全组。
请在 CHDFS 挂载点,对集成资源组的 CHDFS 权限 id 进行授权。
解决方法:
注意:
不同区域的权限 id 不同。