
# 查询SQL获取max值传递给CDM作业
#### 场景描述
通过查询SQL语句，将获取到的最大时间的max值传递给CDM作业。在CDM作业的高级属性里面，通过where子句判断最大时间范围，获取所需要的迁移数据，从而完成数据迁移任务，最终完成增量迁移任务。
#### 约束条件
1. 已完成[新建数据连接](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0404.html)的操作。
2. 已完成[新建数据库](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0405.html)的操作。
 
#### 使用案例
**创建SQL脚本**
1. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 脚本开发"。
2. 创建一个SQL脚本。本案例以MRS SPARK SQL为例。
3. 选择已创建好的数据连接和数据库。
4. 编写SQL脚本，从源表table1这张数据表里面获取最大时间值数据。
   ```
   select max(time) from table1
   ```
   
5. 保存并提交版本。脚本**maxtime**创建完成。
**创建一个Pipeline子作业**
1. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 作业开发"。
2. 选择CDM Job节点，并配置节点属性参数。
   图1配置CDM Job节点属性参数   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001505160994.png "点击放大")
   
   选择CDM集群名称、关联已存在的CDM作业。
   配置该作业的参数，引入作业参数名称maxtime，如下图所示。
   图2配置作业参数   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001505481878.png "点击放大")
   
   
3. 保存并提交版本。子作业**sub**创建完成。
**创建一个Pipeline作业**
1. 在数据开发主界面的左侧导航栏，选择"数据开发 \> 作业开发"。
2. 选择MRS Spark SQL节点和For Each循环执行的节点，让CDM子作业循环执行，并配置节点属性参数。
3. 配置MRS Spark SQL节点的属性参数，并关联已创建的脚本maxtime。
   图3配置MRS Spark SQL节点属性参数   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001505342260.png "点击放大")
   
   
4. 配置For Each节点的属性参数，并关联已创建的CDM子作业。
   图4配置For Each节点参数   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001556422561.png "点击放大")
   
   关联已创建的子作业sub后，编写参数表达式。
   ```
   #{Loop.current[0]}
   ```
   配置数据集，支持EL表达式和简易变量集。
   ```
   #{Job.getNodeOutput("maxtime")}
   ```
   
5. 保存并提交版本。作业创建完成。
**在CDM作业中通过where子句配置获取最大时间** **值数据并传递给目的端作业**
1. 打开已创建的子作业。
2. 单击CDM作业名称后面的![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001556430169.png)跳转到CDM作业配置界面。
   图5编辑CDM作业   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001556316417.png "点击放大")
   
   
3. 在源端作业配置的高级属性里面，通过配置where子句获取迁移所需的数据，作业运行时，将从源端获取到的迁移数据复制导出并导入目的端。
   图6配置where子句   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000001505188392.png "点击放大")
   
   where子句配置如下：
   ```
   dt > '${maxtime}'
   ```
   
 
