Skip to content

Hive Sink组件使用说明

组件说明

用于将数据写入Hive 数据库。

注意

同一个作业中不能同时出现 Hive Sink 和 Inceptor Sink 组件。

配置项说明

配置名称数据类型是否必填默认值描述
节点名称StringHive当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
节点编码String自动生成当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。
选择数据源String-从下拉选项中选择列出的当前项目已经关联的数据源。
选择库String-从下拉列表中选择数据库。
选择表String-从下拉列表中选择数据表。
压缩算法StringNONE支持NONE、SNAPPY、LZO。
启用覆盖模式Boolean用于决定在向 Hive 中插入数据时是否启用覆盖模式的标志。若设置为“是”,对于非分区表,在插入新数据之前会先删除表中的现有数据。对于分区表,会在插入新数据之前删除相关分区中的数据。
是否分区Boolean用于决定是否需要处理分区。
分区字段Array-仅在 “是否分区” 为 “是” 时使用,根据选定的字段对数据进行分区。
分区目录表达式String${k0}=${v0}/${k1}=${v1}/.../${kn}=${vn}/仅在 “是否分区” 为 “是” 时使用,如果指定了 “分区字段”,我们将根据分区信息生成相应的分区目录,并将最终文件放置在分区目录中。默认 partition_dir_expression 为 ${k0}=${v0}/${k1}=${v1}/.../${kn}=${vn}/。k0 是第一个分区字段,v0 是第一个分区字段的值。
表添加模式String表不存在时创建对于目标表的情况,处理方式有三种:
- 重新创建表
- 表不存在时创建
- 表不存在时报告错误
- 忽略对表的处理
数据添加模式String追加数据支持四种模式:
1、追加数据:数据统一追加到目标表中;
2、同步前删除数据:先清空目标表数据,然后再给目标表添加数据;
3、当存在数据时,报告错误:当目标表存在相同数据时,报告错误,不会添加数据。
4、自定义处理:用户可以自定义写SQL的方式进行处理。
可选参数Map-其他参数,用户可以根据需求进行配置。

FAQ

Q1: 可以同时使用Inceptor输入组件和Hive输入组件吗?
A1:不可以,Inceptor和Hive加载的驱动不一样,故同一个作业模型中不能同时出现Hive 和Inceptor的Source、Sink组件。