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

配置Hive源端参数

作业中源连接为Hive连接时,源端作业参数如表1所示。

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

参数类型

参数名

说明

取值样例

基本参数

数据库名称

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

default

表名

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

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

说明:

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

TBL_E

读取方式

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

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

    源端为Hive数据源且使用JDBC方式读取数据时,CDM不支持多并发,即后续操作中抽取并发数只能设置为1。

HDFS

使用SQL语句

导出关系型数据库的数据时,您可以选择使用自定义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
  • 如果SQL语句过长,会导致请求过长下发失败,继续创建作业系统会报错“错误请求”,此时您需要简化或清空SQL语句,再次尝试继续创建作业。

select id,name from sqoop.user;

高级属性

分区过滤条件

读取方式为HDFS时,单击“显示高级属性”后显示此参数。

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

说明:

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

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

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

  • 范围过滤场景属性值:

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

Where子句

读取方式为JDBC时,单击“显示高级属性”后显示此参数。

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

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

说明:

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

age > 18 and age <= 60

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