Hive输出组件用于向Hive数据源写入数据。同步其他数据源的数据至Hive数据源的场景中,完成源数据源的信息配置后,需要配置Hive输出组件写入数据的目标数据源。本文为您介绍如何配置Hive输出组件。
使用限制
Hive输出组件支持写入文件格式为orc、parquet、text、iceberg(iceberg格式仅支持E-MapReduce5.x的Hive计算源或数据源)的Hive数据表。不支持ORC格式的事务表、Kudu表集成。
Kudu表数据集成请使用Impala输出组件。更多信息,请参见配置Impala输出组件配置Impala输出组件。
前提条件
操作步骤
在Dataphin首页顶部菜单栏,选择研发 > 数据集成。
在集成页面顶部菜单栏选择项目(Dev-Prod模式需要选择环境)。
在左侧导航栏中单击离线集成,在离线集成列表中单击需要开发的离线管道,打开该离线管道的配置页面。
单击页面右上角的组件库,打开组件库面板。
在组件库面板左侧导航栏中需选择输出,在右侧的输出组件列表中找到Hive组件,并拖动该组件至画布。
单击并拖动目标输入、转换或流程组件的
图标,将其连接至当前Hive输出组件上。
单击Hive输出组件卡片中的
图标,打开Hive输出配置对话框。
在Hive输出配置对话框,配置参数。
Hive表与Hudi表所需配置的参数不同。
输出目标表选择为Hive表输出目标表选择为Hudi表参数
描述
基本设置
步骤名称
即Hive输出组件的名称。Dataphin自动生成步骤名称,您也可以根据业务场景修改。命名规则如下:
只能包含中文、字母、下划线(_)、数字。
不能超过64个字符。
数据源
在数据源下拉列表中,展示所有Hive类型的数据源,包括您已拥有同步写权限的数据源和没有同步写权限的数据源。单击
图标,可复制当前数据源名称。
表
选择输出数据的目标表(Hive表)。 可输入表名关键字进行搜索,或输入准确表名后单击精准查找。选择表后,系统将自动进行表状态检测。单击
图标,可复制当前所选表的表名称。
如果Hive数据源中没有数据同步的目标表,则您可以通过一键建表的功能,简单快速的生成目标表。详细操作步骤如下:
单击一键建表。Dataphin会自动为您匹配创建目标表的代码,包括目标表名称(默认为来源表名)、字段类型(基于Dataphin字段做了初步的转换)等信息。
数据湖表格式选择为不选择。
您可以根据业务情况修改创建目标表的SQL脚本后,单击新建。
目标表新建成功后,Dataphin自动将新建的目标表作为输出数据的目标表。一键生成目标表用于为开发环境、生产环境创建数据同步的目标表。Dataphin默认为您选中生产环境建表,如果生产环境已经有同名且结构相同的数据表,则您无需勾选生产环境建表。
如果开发环境或生产环境存在同名的表,单击新建后,Dataphin会报已存在该表的错误。
没有匹配项时,也支持根据手动输入的表名进行集成。
文件编码
选择文件存储在Hive的编码方式。文件编码包括UTF-8和GBK。
加载策略
向目标数据源(Hive数据源)写入数据时,数据写入表中的策略。加载策略包括覆盖所有数据、追加数据、仅覆盖集成任务写入的数据,适用场景说明如下:
覆盖所有数据:会先删除目标表或分区下的所有数据,再新增以表名开头的数据文件。
追加数据:直接向目标表追加写入数据。
仅覆盖集成任务写入的数据:会先删除目标表或分区下以表名开头的数据文件(通过SQL等其他方式写入的数据不会被删除)。
NULL值替换(非必填)
仅支持
textfile
数据存储格式的来源表。填写需要替换为NULL
的字符串。例如,填写\N
时,系统会将\N
字符串替换为NULL
。字段分隔符(非必填)
仅支持
textfile
数据存储格式的来源表。填写字段之间分隔符。如果您没有填写,则系统默认为使用\u0001
作为分隔符。压缩格式(非必填)
选择文件的压缩格式。根据Hive中数据存储格式不同,支持选择压缩格式不同:
数据存储格式为orc:支持选择的压缩格式包括zlib、snappy。
数据存储格式为parquet:支持选择的压缩格式包括snappy、gzip。
数据存储格式为textfile:支持选择的压缩格式包括gzip、bzip2、 lzo、lzo_deflate、hadoop-snappy和zlib。
字段分隔符处理(非必填)
仅支持
textfile
数据存储格式的输出表。数据中存在默认或自行配置的字段分隔符时,可以配置字段分隔符处理策略,防止数据写入错误。可以选择保留、去除或替换为。行分隔符处理(非必填)
仅支持
textfile
数据存储格式的输出表。数据中存在默认或自行配置的字段分隔符时,可以配置行分隔符号处理策略,默认以\n
作为行分隔符,如数据中存在换行符\r
、\n
,可选择处理策略,防止数据写入错误。可以选择保留、去除或替换为。性能配置(非必填)
输出表数据存储格式为
orc
时,可以进行性能配置,多用于输出表字段较多的场景。内存足够时可尝试调大该配置提高写入性能,内存不足时可尝试调小该配置减少GC时间提高写入性能。默认{"hive.exec.orc.default.buffer.size":16384}
,单位字节,建议不要配置超过262144字节(256k)。分区
如果所选的目标表是分区表,那么需要填写分区信息。例如,
state_date=20190101
,也支持参数的方式以便每天增量写入数据。例如,state_date=${bizdate}
。准备语句(非必填)
数据导入前对数据库执行的SQL脚本。
比如为了满足服务的持续可用性,当前步骤写数据执行前先创建目标表Target_A,执行写入到目标表Target_A,当前步骤写数据执行完成后,对数据库中持续提供服务的表Service_B重命名成Temp_C,然后将表Target_A重命名为Service_B,最后删除Temp_C。
结束语句(非必填)
数据导入后对数据库执行的SQL脚本。
字段映射
输入字段
根据上游组件的输出,为您展示输入字段。
输出字段
输出字段区域展示了已选中表的所有字段。
为了保证数据写入Hive时数据不会出错,输出字段必须和输入组件的字段全部映射。
映射关系
根据上游的输入和目标表的字段,可以手动选择字段映射。映射关系包括同行映射和同名映射。
同名映射:对字段名称相同的字段进行映射。
同行映射:源表和目标表的字段名称不一致,但字段对应行的数据需要映射。只映射同行的字段。
参数
描述
基本设置
步骤名称
即Hive输出组件的名称。Dataphin自动生成步骤名称,您也可以根据业务场景修改。命名规则如下:
只能包含中文、字母、下划线(_)、数字。
不能超过64个字符。
数据源
在数据源下拉列表中,展示所有Hive类型的数据源,包括您已拥有同步写权限的数据源和没有同步写权限的数据源。单击
图标,可复制当前数据源名称。
表
选择输出数据的目标表(Hudi表)。 可输入表名关键字进行搜索,或输入准确表名后单击精准查找。选择表后,系统将自动进行表状态检测。单击
图标,可复制当前所选表的表名称。
如果Hive数据源中没有数据同步的目标表,则您可以通过一键建表的功能,简单快速的生成目标表。详细操作步骤如下:
单击一键建表。Dataphin会自动为您匹配创建目标表的代码,包括目标表名称(默认为来源表名)、字段类型(基于Dataphin字段做了初步的转换)等信息。
数据湖表格式选择为Hudi。
Hudi表类型:可选择MOR(merge on read)或COW(copy on write),默认为MOR(merge on read)。
主键字段(非必填):输入主键字段,多个字段间使用半角逗号(,)分隔。
扩展属性(非必填):输入Hudi官方支持的配置属性,格式为
k=v
。如果开发环境或生产环境存在同名的表,单击新建后,Dataphin会报已存在该表的错误。
没有匹配项时,也支持根据手动输入的表名进行集成。
单击刷新DDL语句。
分区
如果所选的目标表是分区表,那么需要填写分区信息。例如,
state_date=20190101
,也支持参数的方式以便每天增量写入数据。例如,state_date=${bizdate}
。加载策略
向目标数据源(Hive数据源)写入数据时,数据写入表中的策略,包括覆盖数据、追加数据、更新数据。
覆盖数据:使用新增数据覆盖已有数据。
追加数据:直接向目标表追加写入数据。
更新数据:按主键更新,不存在时则插入数据。
通过SQL等其他方式写入的数据不会被删除。
BulkInsert
适用于大数据量的批量快速同步场景,通常用于初始数据的导入。
仅当加载策略选择为追加策略或覆盖策略时,支持配置此项,且默认为开启。
字段映射
输入字段
根据上游组件的输出,为您展示输入字段。
输出字段
输出字段区域展示了已选中表的所有字段。
Hudi表无需映射所有字段。
映射关系
根据上游的输入和目标表的字段,可以手动选择字段映射。映射关系包括同行映射和同名映射。
同名映射:对字段名称相同的字段进行映射。
同行映射:源表和目标表的字段名称不一致,但字段对应行的数据需要映射。只映射同行的字段。
单击确认,完成Hive输出组件的属性配置。
- 本页导读 (0)
- 使用限制
- 前提条件
- 操作步骤