更新时间:2024-10-18 GMT+08:00

配置Hive源端参数

支持从Hive导出数据,使用JDBC接口抽取数据。

Hive作为数据源,CDM自动使用Hive数据分片文件进行数据分区。

表1 Hive作为源端时的作业参数

参数类型

参数名

说明

取值样例

基本参数

读取方式

包括HDFS和JDBC两种读取方式。默认为HDFS方式,如果没有使用WHERE条件做数据过滤及在字段映射页面添加新字段的需求,选择HDFS方式即可。

  • HDFS文件方式读取数据时,性能较好,但不支持使用WHERE条件做数据过滤及在字段映射页面添加新字段。
  • JDBC方式读取数据时,支持使用WHERE条件做数据过滤及在字段映射页面添加新字段。

HDFS

数据库

输入或选择数据库名称。单击输入框后面的按钮可进入数据库选择界面。

default

表名

输入或选择Hive表名。单击输入框后面的按钮可进入表的选择界面。

该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

TBL_E

使用SQL语句

“读取方式”选择“JDBC”时显示此参数。

导出关系型数据库的数据时,您可以选择使用自定义SQL语句导出。

SQL语句

“使用SQL语句”选择“是”时显示此参数,您可以在这里输入自定义的SQL语句,CDM将根据该语句导出数据。

说明:
  • SQL语句只能查询数据,支持join和嵌套写法,但不能有多条查询语句,比如 select * from table a; select * from table b。
  • 不支持with语句。
  • 不支持注释 ,比如 "--" ,“/*”。
  • 不支持增删改操作,包括但不限于以下操作:
    • load data
    • delete from
    • alter table
    • create table
    • drop table
    • into outfile

select id,name from sqoop.user;

传输模式

支持记录迁移和文件迁移 默认为记录迁移。仅当源端为Hive2.x且数据存储在HDFS、目的端为Hive3.x且数据存在OBS并行文件系统时,才支持文件迁移。

当选择文件迁移时,需保证源端和目的端的表格式和属性需一致才能迁移成功。

  • 记录迁移
  • 文件迁移

分区过滤条件

“读取方式”选择“HDFS”时显示此参数。

该参数表示抽取指定值的partition,属性名称为分区名称,属性值可以配置多个值(空格分隔),也可以配置为字段取值范围,接受时间宏函数。详细说明请参见使用时间宏变量完成增量同步

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

  • 单/多值过滤场景属性值:

    ${dateformat(yyyyMMdd, -1, DAY)} ${dateformat(yyyyMMdd)}

  • 范围过滤场景属性值:

    ${value} >= ${dateformat(yyyyMMdd, -7, DAY)} && ${value} < ${dateformat(yyyyMMdd)}

高级属性

Where子句

“读取方式”选择“JDBC”“使用SQL语句”选择“否”时显示此参数。

填写该参数表示指定抽取的WHERE子句,不指定则抽取整表。如果要迁移的表中没有WHERE子句的字段,则会迁移失败。

该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

age > 18 and age <= 60