华为云用户手册

  • 使用场景 该功能适用于以下场景: Flink SQL脚本可以引用脚本模板。 在pipeline作业开发中, MRS Flink Job节点可以使用引入了脚本模板的Flink SQL脚本,同时在MRS Flink Job节点的“运行程序参数”里面可以引用参数模板。 在Flink SQL单任务作业中引用脚本模板。 在Flink Jar单任务作业中使用参数模板。 在脚本中引用脚本模板时,SQL语句的写法为@@{脚本模板}。
  • 操作场景 作业参数配置完成后,将进行字段映射的配置,您可以通过字段映射界面的可自定义新增字段。 如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,且源端“文件格式”配置为“二进制格式”(即不解析文件内容直接传输),则没有字段映射这一步骤。 其他场景下, CDM 会自动匹配源端和目的端数据表字段,需用户检查字段映射关系和时间格式是否正确,例如:源字段类型是否可以转换为目的字段类型。 您可以单击字段映射界面的选择“添加新字段”自定义新增字段,通常用于标记数据库来源,以确保导入到目的端数据的完整性。 图1 字段映射 目前支持以下类型自定义字段: 常量 常量参数即参数值是固定的参数,不需要重新配置值。例如“lable”=“friends”用来标识常量值。 变量 您可以使用时间宏、表名宏、版本宏等变量来标记数据库来源信息。变量的语法:${variable},其中“variable”指的是变量。例如“input_time”=“${timestamp()}”用来标识当前时间的时间戳。 表达式 您可以使用表达式语言根据运行环境动态生成参数值。表达式的语法:#{expr},其中“expr”指的是表达式。例如“time”=“#{DateUtil.now()}”用来标识当前日期字符串。
  • 约束限制 如果在字段映射界面,CDM通过获取样值的方式无法获得所有列(例如从HBase/CloudTable/MongoDB导出数据时,CDM有较大概率无法获得所有列),则可以单击后选择“添加新字段”来手动增加,确保导入到目的端的数据完整。 关系数据库、Hive、MRS Hudi及 DLI 做源端时,不支持获取样值功能。 SQLServer作为目的端数据源时,不支持timestamp类型字段的写入,需修改为其他时间类型字段写入(如datetime)。 当作业源端为OBS、迁移 CS V文件时,并且配置“解析首行为列名”参数的场景下显示列名。 当使用二进制格式进行文件到文件的迁移时,没有字段映射这一步。 自动创表场景下,需在目的端表中提前手动新增字段,再在字段映射里新增字段。 添加完字段后,新增的字段在界面不显示样值,不会影响字段值的传输,CDM会将字段值直接写入目的端。 如果字段映射关系不正确,您可以通过拖拽字段、单击对字段批量映射两种方式来调整字段映射关系。 如果是导入到 数据仓库 服务(DWS),则还需在目的字段中选择分布列,建议按如下顺序选取分布列: 有主键可以使用主键作为分布列。 多个数据段联合做主键的场景,建议设置所有主键作为分布列。 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 如CDM不支持源端迁移字段类型,请参见不支持数据类型转换规避指导将字段类型转换为CDM支持的类型。
  • 配置HDFS目的端参数 表1 HDFS作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 写入目录 写入数据到HDFS服务器的目录。 /user/cdm/output 文件格式 传输数据时使用的格式。其中CSV和JSON仅支持迁移到数据表场景,二进制格式适用于文件迁移场景。 CSV格式 换行符处理方式 指定在写入文本文件表的数据包含换行符,特指(\n|\r|\r\n)的情况下处理换行符的策略。 删除 不处理 替换为其他字符串 删除 换行符替换字符串 当换行符处理方式选择为替换时,指定替换的字符串。 - 高级属性 写入到临时文件 文件格式为二进制格式时显示该参数。 将二进制文件先写入到临时文件。临时文件以".tmp"作为后缀。 否 换行符 文件格式为CSV格式时显示该参数。 文件中的换行符,默认自动识别"\n"、"\r"或"\r\n"。手动配置特殊字符,如空格回车需使用URL编码后的值。或通过编辑作业json方式配置,无需URL编码。 \n 字段分隔符 文件格式为CSV格式时显示该参数。 文件中的字段分隔符。配置特殊字符需先url编码。 , 作业成功标识文件 标识文件名。 当作业成功时,在写入目录下生成标识文件。不输入文件名时不启用该功能。 finish.txt 使用包围符 文件格式为CSV格式时显示该参数。 使用包围符来括住字符串值。包围符内的字段分隔符被视为字符串值的一部分,目前只支持"作为包围符。: 否 自定义目录层次 支持用户自定义文件的目录层次。 例如:【表名】/【年】/【月】/【日】/【数据文件名】. csv 否 目录层次 自定义目录层次选择是时显示该参数。 指定文件的目录层次,支持时间宏(时间格式为yyyy/MM/dd)。源端为关系型数据库数据源时,目录层次为源端表名+自定义目录,其他场景下为自定义目录。 ${dateformat(yyyy/MM/dd, -1, DAY)} 文件名前缀 文件格式为CSV格式时显示该参数。 设置文件名前缀。 文件名格式:prefix-jobname-timestamp-index。 data 压缩格式 文件格式为CSV格式时显示该参数。 选择写入文件的压缩格式。 NONE DEFLATE GZIP BZIP2 SNAPPY SNAPPY 加密方式 文件格式为二进制格式时显示该参数。 对上传的数据进行加密。 无 AES-256-GCM 无 数据加密 密钥 文件格式为二进制格式且选择加密方式时显示该参数。 数据加密密钥(Data Encryption Key),AES-256-GCM密钥由长度64的十六进制数组成。 DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B 初始化向量 文件格式为二进制格式且选择加密方式时显示该参数。 设置初始化向量,由长度32的十六进制数组成。 5C91687BA886EDCD12ACBC3FF19A3C3F 父主题: 配置作业目的端参数
  • 配置Redis目的端参数 表1 Redis作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 redis键前缀 对应关系数据库的表名。 TABLENAME 值存储类型 存储类型分STRING、hash、list、set和zset。 STRING 写入前将相同的键删除 写入前是否将相同的键删除。 否 高级属性 键分隔符 用来分隔关系数据库的表和列名。 _ 值分隔符 以STRING方式存储,列之间的分隔符。 存储类型为列表时字串分割成数组的字符。 ; key值有效期 设置统一的生存时间。单位:秒。 3600 父主题: 配置作业目的端参数
  • 配置Redis源端参数 表1 Redis作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 redis键前缀 对应关系数据库的表名。 TABLENAME 值存储类型 存储类型分STRING、HASH。 STRING 高级属性 键分隔符 用来分隔关系数据库的表和列名。 _ 值分隔符 以STRING方式存储,列之间的分隔符。 存储类型为列表时字串分割成数组的字符。 ; 字段相同 “值存储类型”选择“HASH”时,显示该参数,是否允许哈希键内有相同的字段。 否 父主题: 配置作业源端参数
  • 配置RestApi源端参数 表1 RestApi作为源端时的作业参数 参数类型 参数名 说明 是否必须填 取值样例 基本参数 数据请求地址 数据请求地址。 是 /api/getUsers 请求方法 请求方法,支持GET/POST。 是 GET 请求体 请求方法为POST时显示该参数。 请求体,json格式。 是 {"namePrefix":"test"} 每次拉取的数量 每次拉取的数量。 是 1000 分页大小参数名称 分页大小参数名称。 默认会放到query参数中,它的值为每次拉取的数量。 如果body参数中包含此参数名,则会将它的值替换为每次拉取的数量。 是 pageSize 分页页码参数名称 分页页码参数名称。 默认会放到query参数中,它的值为页码。 如果body参数中包含此参数,则会将它的值替换为页面。 是 pageNumber 数据路径 数据路径,指数据在响应json体中的位置,默认为根路径。 否 data.students 数据总数 数据总数,可以支持填写固定值,也可以支持从接口中获取,支持spel表达式。 固定值。 从接口中获取:data.pageCount。 说明: 如果接口不是分页接口,并且只想调用一次,则将数据总数的值设置的小于或者等于每次拉取的数据。 是 固定值时推荐1000 父主题: 配置作业源端参数
  • 操作步骤 参见新建离线处理集成作业创建一个离线处理集成作业。 类型配置。 图1 类型配置 配置数据连接类型,包含配置源端数据类型和目的端数据类型,支持的数据类型请参见支持的数据源。 选择集成作业类型。 同步类型:默认为离线,不可更改。 同步场景:支持单表、分库分表和整库三种同步方式,具体支持的数据源请参见支持的数据源。 设置网络资源配置。 选择已创建的源端数据连接,且创建的连接必须已勾选数据集成选项。连接不存在时可参见创建 DataArts Studio 数据连接创建所需连接。 需要测试数据源端和资源组之间网络是否可用,不可用时根据界面提示修改。 选择资源组,集群创建可参见创建CDM集群。 选多个集群时系统会随机下发任务,故需要多个集群时版本规格建议选择集群版本一致的集群,否则可能因为集群版本不一致导致作业失败。 选择已创建的目的端数据连接,且创建的连接必须已勾选数据集成选项。连接不存在时可参见创建DataArts Studio数据连接。 需要测试数据连接是否可用,不可用时根据界面提示修改。 配置源端数据参数。 各数据源及各同步场景配置存在一定差异,选择源端配置后,请参见配置作业源端参数配置作业参数。 同步任务源端和目标端字段类型需要注意精度,如果目标端字段类型最大值小于源端最大值(或最小值大于源端最小值,或精度低于源端精度),可能会导致写入失败或精度被截断的风险。 表1 源端需要配置的作业参数 同步场景 源端需要配置参数 字段映射 单表 基本参数 高级属性 支持 分库分表 选择库表方式:精准匹配或正则匹配 高级属性 支持 整库迁移 添加源数据,选择需要迁移的库表 高级属性 不支持 配置目的端数据参数。 各数据源及各同步场景配置存在一定差异,选择目的端配置后,请参见配置作业目的端参数配置作业参数。 同步任务源端和目标端字段类型需要注意精度,如果目标端字段类型最大值小于源端最大值(或最小值大于源端最小值,或精度低于源端精度),可能会导致写入失败或精度被截断的风险。 表2 目的端需要配置的作业参数 同步场景 目的端需要配置参数 字段映射 单表 基本参数 高级属性 支持 分库分表 基本参数 高级属性 支持 整库迁移 选择库匹配策略和表匹配策略 不支持 配置字段映射关系。 配置作业源端参数和目的端参数后,需要配置源端和目的端列的映射关系,配置字段映射关系后,任务将根据字段映射关系,将源端字段写入目标端对应类型的字段中。 字段映射配置:选择字段映射关系、设置字段批量映射规则。 字段映射关系 同名映射:对字段名称相同的字段进行映射。使用已有数据进行相同列名的字段自动映射。 同行映射:源表和目标表的字段名称不一致,但字段对应相同行的数据进行映射。查询源端和目的端的字段,再进行相同行的字段自动映射。 字段批量映射:源端配置使用SQL语句为是时不显示该参数。 批量输入字段映射数据,一行输入一个字段映射,等号左边为源表字段右边为目标表字段,例如:reader_column=writer_column。 单击“查看编辑”,设置批量映射关系。 字段映射关系:支持批量转换,添加字段,行移动等功能。 敏感信息检测:检测来源端数据是否包含敏感信息,存在敏感信息时无法进行数据迁移,需根据界面提示修改。 批量转换器:批量转换源字段名。 勾选需要转换的字段名,单击“批量转换器”,在弹出的转换器列表对话框中根据提示新建转换器。 批量移除字段:源端配置使用SQL语句为是时不显示该参数,勾选需要移除的字段名,单击“批量移除字段”。 已移除的字段可以在添加字段里的“添加被移除的字段”中看到。 添加字段:源端配置使用SQL语句为是时不显示该参数。可以为源端和目的端添加新的字段。包含添加已被移除的字段和添加新字段。 添加新字段支持以下类型: 支持函数,例如mysql填写now()、curdate()、postgresql。 支持填写now()、transaction_timestamp()。 支持函数配合关键字,例如postgresql填写to_char(current_date,'yyyy-MM-dd')。 支持填写固定值,例如:123、'123',这两种填法都代表字符串:123。 支持填写变量值,例如:${workDate},workDate需要在作业变量中进行定义。 JDBC支持填写固定变量,例如:DB_NAME_SRC(原始数据库名称)、TABLE_NAME_SRC(源端表名称)、DATASOURCE_NAME_SRC(源端数据源名称)。 支持as语句,例如:'123' as test, now() as curTime。 行移动:源端配置使用SQL语句为是时,在设置字段映射关系阶段不支持该功能。鼠标拖住需要移动的字段所在行,可以任意移动上下位置。 查看转换器:(可选)CDM支持字段内容转换,如果需要可单击操作列下,进入转换器列表界面,再单击“新建转换器”。转换器使用详情请参见字段转换器配置指导。 查找目的端字段:CDM支持搜索查找目的端字段名并匹配字段,如果需要可单击操作列下,进入匹配目的字段对话框,通过搜索关键字或者直接单击目标进行匹配。 删除字段:CDM支持删除原有表的默认字段,如果需要可单击操作列下删除字段,已移除的字段可以在添加字段里的“添加被移除的字段”中看到。 字段映射样例:源端配置使用SQL语句为是时不显示该参数,查看源端和目的端样例数据。 文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,且源端“文件格式”配置为“二进制格式”(即不解析文件内容直接传输),没有字段映射这一步骤。 整库迁移没有配置字段映射关系这一步骤。 迁移过程中可能存在源端与目标端字段类型不匹配,产生脏数据,导致数据无法正常写入目标端,迁移过程中关于脏数据的容忍条数,请参考下一步任务属性进行配置。 当源端某字段未与目标端字段进行映射时,源端该字段数据将不会同步到目标端。 其他场景下,CDM会自动匹配源端和目的端数据表字段,需用户检查字段映射关系和时间格式是否正确,例如:源字段类型是否可以转换为目的字段类型。 如果字段映射关系不正确,用户可以通过拖拽字段来调整映射关系(源端配置使用SQL语句为否时支持该功能)。 如果在字段映射界面,CDM通过获取样值的方式无法获得所有列,则可以单击自定义新增字段,也可单击操作列下创建字段转换器,确保导入到目的端的数据完整。 支持通过字段映射界面的,可自定义添加常量、变量及表达式。 列名仅支持源端为OBS数据源,迁移CSV文件时配置“解析首行为列名”参数为“是”时显示。 SQLServer作为目的端数据源时,不支持timestamp类型字段的写入,需修改为其他时间类型字段写入(如datatime)。 如果是导入到数据仓库服务(DWS),则还需在目的字段中选择分布列,建议按如下顺序选取分布列: 有主键可以使用主键作为分布列。 多个数据段联合做主键的场景,建议设置所有主键作为分布列。 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。 配置任务属性。 通过任务配置,控制数据同步过程的相关属性,具体请参见表3。 表3 任务配置参数 参数 说明 取值样例 作业期望最大并发数 设置当前作业从源端并行读取或并行写入目标端的最大线程数,由于分片策略等原因,实际运行过程中的并发线程数可能小于此值。 其中,集群最大并发数的设置与CDM集群规格有关,并发数上限建议配置为vCPU核数*2。 例如8核16GB规格集群的最大抽取并发数上限为16。 3 分片重试次数 每个分片执行失败时的重试次数,为0表示不重试。 说明: 目前仅对目的端为Hudi、DWS,导入模式为UPSERT生效,其他场景及配置分片重试次数不生效。 0 是否写入脏数据 选择是否记录脏数据,默认不记录脏数据,当脏数据过多时,会影响同步任务的整体同步速度。 否:默认为否,不记录脏数据。 表示不允许脏数据存在。如果同步过程中产生脏数据,任务将失败退出。 是:允许脏数据,即任务产生脏数据时不影响任务执行。 允许脏数据并设置其阈值时: 若产生的脏数据在阈值范围内,同步任务将忽略脏数据(即不会写入目标端),并正常执行。 若产生的脏数据超出阈值范围,同步任务将失败退出。 说明: 脏数据认定标准:脏数据是对业务没有意义,格式非法或者同步过程中出现问题的数据;单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。 因此只要是写入失败的数据均被归类于脏数据。 例如,源端是VARCHAR类型的数据写到INT类型的目标列中,则会因为转换不合理导致脏数据不会成功写入目的端。用户可以在同步任务配置时,配置同步过程中是否写入脏数据,配置脏数据条数(单个分片的最大错误记录数)保证任务运行,即当脏数据超过指定条数时,任务失败退出。 否 脏数据写入连接 当“是否写入脏数据”为“是”才显示该参数。 脏数据要写入的连接,目前只支持写入到OBS连接。 obslink OBS桶 当“脏数据写入连接”为OBS类型的连接时,才显示该参数。 写入脏数据的OBS桶的名称。 dirtydata 脏数据目录 “是否写入脏数据”选择为“是”时,该参数才显示。 OBS上存储脏数据的目录,只有在配置了脏数据目录的情况下才会记录脏数据。 用户可以进入脏数据目录,查看作业执行过程中处理失败的数据或者被清洗过滤掉的数据,针对该数据可以查看源数据中哪些数据不符合转换、清洗规则。 /user/dirtydir 单个分片的最大错误记录数 当“是否写入脏数据”为“是”才显示该参数。 单个分区的错误记录超过设置的最大错误记录数则任务自动结束,已经导入的数据不支持回退。 推荐使用临时表作为导入的目标表,待导入成功后再改名或合并到最终数据表。 0 开启限速 是否开启同步限速。该速率代表CDM传输速率,而非网卡流量。 限速:用户可以通过限速控制同步速率,可以保护读取端数据库,避免抽取速度过大,给源库造成太大的压力。限速最小配置为1MB/S。 不限速:在不限速的情况下,任务将在所配置的并发数的限制基础上,提供现有硬件环境下最大的传输性能。 说明: 支持对MRS Hive\DLI\关系数据库\OBS\Apache HDFS作为目的端的作业进行单并发限速。 如果作业配置多并发则实际限制速率需要乘以并发数。 是 单并发速率上限(MB/s) 开启限速情况下设置的单并发速率上限值,如果配置多并发则实际速率限制需要乘以并发数。单位:MB/s。 说明: 限制速率为大于1的整数。 10 单并发行数速率上限 设置单并发行数速率上限,单位:record/s。 100000 中间队列缓存大小 数据写入时中间队列缓存大小,取值范围为1-500。 如果单行数据超过该值,可能会导致迁移失败。 如果该值设置过大时,可能会影响集群正常运行。 请酌情设置,无特殊场景请使用默认值。 64 实时检测作业敏感信息 是否开启了实时检测作业敏感信息。 否 保存作业。 作业配置完毕后,单击作业开发页面左上角“保存”按钮,保存作业的配置信息。 作业如果开启了实时检测作业敏感信息,系统会自动检测来源端数据是否包含敏感信息,存在敏感信息时无法进行数据迁移,须根据界面提示修改。 保存后,在右侧的版本里面,会自动生成一个保存版本,支持版本回滚。保存版本时,一分钟内多次保存只记录一次版本。对于中间数据比较重要时,可以通过“新增版本”按钮手动增加保存版本。 测试运行作业。 作业配置完毕后,单击作业开发页面左上角“测试运行”按钮,测试作业。如果测试未通过,请您查看作业节点的运行日志,进行定位处理。 测试运行类似于单次运行,会对数据进行真实迁移。 用户可以查看该作业的测试运行日志,单击“查看日志”可以进入查看日志界面查看日志的详细信息记录。 作业未提交版本之前,进行手动测试运行,作业监控里面的作业运行实例版本显示是0。 提交作业版本。 若任务需要进行周期性调度运行,您需要将任务发布至生产环境。关于任务发布,详情请参见:发布作业任务。 调度作业。 对已编排好的作业设置调度方式。关于调度作业,详情请参见:调度作业。
  • Apache Hive数据连接参数说明(内测) 表1 Apache Hive数据连接 参数 是否必选 说明 数据连接类型 是 Apache Hive连接固定选择为Apache Hive。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 是否使用集群配置 是 此参数用于选择用户已经创建好的集群配置。 您可以通过使用集群配置,简化Hadoop连接参数配置。 URI 是 使用集群配置为否时,是必选项。 NameNode URI地址。例如:hdfs://nn1_example.com/ Hive元数据地址 是 使用集群配置为否时,是必选项。 设置Hive元数据地址,参考 hive.metastore.uris配置项。例如:thrift://host-192-168-1-212:9083 IP与主机名映射 否 使用集群配置为否时,是必选项。 如果Hadoop配置文件使用主机名,需要配置IP与主机的映射。格式:IP与主机名之间使用空格分隔,多对映射使用分号或回车换行分隔。 KMS密钥 否 使用集群配置为是时,是必选项。 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 使用集群配置为是时,是必选项。 DataArts Studio无法直接与非全托管服务进行连接,需要提供DataArts Studio与非全托管服务通信的代理。CDM集群可以提供通信代理服务,请选择一个CDM集群,如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据集成配置 Hive版本 HIVE_3_X 适用组件勾选数据集成后,呈现此参数。 Hive的版本。根据服务端Hive版本设置。 说明: HIVE_3_X支持Hive服务端版本为3.x的连接,HIVE_2_X支持Hive服务端版本为2.x的连接。使用不匹配的连接版本,测试连接有可能正常,也可能会出现查询库表为空,或者作业失败等不正常场景。 属性配置 hive.storeFormat=textfile 适用组件勾选数据集成后,呈现此参数。 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: connectTimeout=360000与socketTimeout=360000:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位ms),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关;开源MySQL数据库支持useCursorFetch参数,无需对此参数进行设置。 Hive JDBC连接串 否 连接Hive JDBC的url。默认使用匿名用户连接,如需指定用户,请在高级属性中增加hadoop.user.name配置。 例如:SIMPLE:jdbc:hive2://example:10000; KERBEROS:jdbc:hive2://example:10000;principal=${Principle}。 数据源认证及其他功能配置 认证类型 是 认证类型: SIMPLE:非安全模式选择Simple鉴权。 KERBEROS:安全模式选择Kerberos鉴权。 开启ldap 否 当Apache Hive对接外部LDAP开启了LDAP认证时,连接Hive时需要使用LDAP账号与密码进行认证,此时必须开启此参数,否则会连接失败。 ldap用户名 是 当“开启ldap”参数选择为“是”时,此参数是必选项。 填写为Apache Hive开启LDAP认证时配置的用户名。 ldap密码 是 当“开启ldap”参数选择为“是”时,此参数是必选项。 填写为Apache Hive开启LDAP认证时配置的密码。 父主题: 配置DataArts Studio数据连接参数
  • RDS(SQL Server)数据连接参数说明 RDS(SQL Server)数据连接支持连接云数据库SQL Server、自建SQL Server等数据库。 表1 RDS数据连接 参数 是否必选 说明 数据连接类型 是 RDS(SQL Server)连接固定选择为RDS(SQL Server)。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 IP或 域名 是 表示通过内部网络访问关系型数据库的访问地址,可填写为IP或域名。 如果为RDS等云上数据源,可以通过管理控制台获取访问地址: 根据注册的账号登录对应云服务的管理控制台。 从左侧列表选择实例管理。 单击某一个实例名称,进入实例基本信息页面。在连接信息标签中可以获取到内网IP、域名和端口等信息。 如果为自建SQL Server等线下数据源,可以通过数据库管理员获取相应的访问地址。 端口 是 关系型数据库数据源的访问端口。请确保您已在安全组规则中开放此端口,以便DataArts Studio实例可以通过该端口连接此数据库。 如果为RDS等云上数据源,可以通过管理控制台获取访问地址: 根据注册的账号登录对应云服务的管理控制台。 从左侧列表选择实例管理。 单击某一个实例名称,进入实例基本信息页面。在连接信息标签中可以获取到内网IP、域名和端口等信息。 如果为自建SQL Server等线下数据源,可以通过数据库管理员获取相应的访问地址。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 RDS类型数据源为非全托管服务,DataArts Studio无法直接与非全托管服务进行连接。CDM集群提供了DataArts Studio与非全托管服务通信的代理,所以创建RDS类型的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 CDM集群作为网络代理,必须和RDS网络互通才可以成功创建RDS连接,为确保两者网络互通,CDM集群必须和RDS处于相同的区域、可用区,且使用同一个VPC和子网,安全组规则需允许两者网络互通。 说明: CDM集群作为管理中心数据连接Agent时,单集群的并发活动线程最大为200。即当多个数据连接共用同一Agent时,通过这些数据连接提交SQL脚本、Shell脚本、Python脚本等任务的同时运行上限为200,超出的任务将排队等待。建议您按照业务量情况规划多个Agent分担压力。 SSL加密 否 支持对RDS服务启用SSL加密传输。 数据源驱动配置 驱动程序名称 是 com.microsoft.sqlserver.jdbc.SQLServerDriver: 连接SQL Server数据源时,选择此驱动名称。 驱动文件路径 是 驱动文件在OBS上的路径。需要您自行到官网下载.jar格式驱动并上传至OBS中。 SQL Server驱动获取地址:https://learn.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16,建议8.4.1版本。 说明: 驱动文件所在的OBS路径中不能包含中文。 出于安全考虑,当前系统会对所选择的驱动文件校验其SHA512值和字节大小。如不在允许清单中,则会提示报错,推荐您使用建议版本的驱动文件,或联系客服或技术支持人员。 如果需要更新驱动文件,则需要先在数据集成页面重启CDM集群,然后通过编辑数据连接的方式重新选择新版本驱动,更新驱动才能生效。 数据源认证及其他功能配置 用户名 是 数据库的用户名,创建集群的时候,输入的用户名。 密码 是 数据库的访问密码,创建集群的时候,输入的密码。 数据集成配置 数据库名称 是 配置为要连接的数据库名称。 单次请求行数 否 可选参数,指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。默认1000。 连接属性 否 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 SQL Server举例如下: connectTimeout=60与socketTimeout=300:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位s),避免超时导致失败。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关。 trustServerCertificate=true:在创建安全连接的时候可能会报PKIX错误,建议设置为true。 sslmode=require:PostgreSQL在开启SSL认证时可能会连接失败,需要设置为require。 引用符号 否 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。默认为"。 父主题: 配置DataArts Studio数据连接参数
  • RDS(达梦数据库DM)数据连接参数说明 RDS(达梦数据库DM)数据连接支持连接达梦数据库DM。 表1 RDS数据连接 参数 是否必选 说明 数据连接类型 是 RDS(达梦数据库DM)连接固定选择为RDS(达梦数据库DM)。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 IP或域名 是 表示通过内部网络访问关系型数据库的访问地址,可填写为IP或域名。 达梦数据库 DM等线下数据源,可以通过数据库管理员获取相应的访问地址。 端口 是 关系型数据库数据源的访问端口。请确保您已在安全组规则中开放此端口,以便DataArts Studio实例可以通过该端口连接此数据库。 达梦数据库 DM等线下数据源,可以通过数据库管理员获取相应的访问地址。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 RDS类型数据源为非全托管服务,DataArts Studio无法直接与非全托管服务进行连接。CDM集群提供了DataArts Studio与非全托管服务通信的代理,所以创建RDS类型的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 CDM集群作为网络代理,必须和RDS网络互通才可以成功创建RDS连接,为确保两者网络互通,CDM集群必须和RDS处于相同的区域、可用区,且使用同一个VPC和子网,安全组规则需允许两者网络互通。 说明: CDM集群作为管理中心数据连接Agent时,单集群的并发活动线程最大为200。即当多个数据连接共用同一Agent时,通过这些数据连接提交SQL脚本、Shell脚本、Python脚本等任务的同时运行上限为200,超出的任务将排队等待。建议您按照业务量情况规划多个Agent分担压力。 数据源驱动配置 驱动程序名称 是 dm.jdbc.driver.DmDriver:连接达梦数据库 DM数据源时,选择此驱动程序名称。 驱动文件路径 是 驱动文件在OBS上的路径。需要您自行到官网下载.jar格式驱动并上传至OBS中。 达梦数据库 DM JDBC驱动jar包请从DM安装目录/dmdbms/drivers/jdbc中获取DmJdbcDriver18.jar。 说明: 驱动文件所在的OBS路径中不能包含中文。 出于安全考虑,当前系统会对所选择的驱动文件校验其SHA512值和字节大小。如不在允许清单中,则会提示报错,推荐您使用建议版本的驱动文件,或联系客服或技术支持人员。 如果需要更新驱动文件,则需要先在数据集成页面重启CDM集群,然后通过编辑数据连接的方式重新选择新版本驱动,更新驱动才能生效。 数据源认证及其他功能配置 用户名 是 数据库的用户名,创建集群的时候,输入的用户名。 密码 是 数据库的访问密码,创建集群的时候,输入的密码。 父主题: 配置DataArts Studio数据连接参数
  • RDS(SAP HANA)数据连接参数说明 RDS(SAP HANA)数据连接支持连接SAP HANA数据库。 表1 RDS(SAP HANA)数据连接 参数 是否必选 说明 数据连接类型 是 RDS(SAP HANA)连接固定选择为RDS(SAP HANA)。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 IP或域名 是 表示通过内部网络访问关系型数据库的访问地址,可填写为IP或域名。 SAP HANA数据源,可以通过数据库管理员获取相应的访问地址。 端口 是 关系型数据库数据源的访问端口。请确保您已在安全组规则中开放此端口,以便DataArts Studio实例可以通过该端口连接此数据库。 SAP HANA数据源,可以通过数据库管理员获取相应的访问地址。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 DataArts Studio无法直接与非全托管服务进行连接。CDM集群提供了DataArts Studio与非全托管服务通信的代理,所以创建SAP HANA类型的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据集成配置 数据库名称 是 要连接的数据库。 单次请求行数 否 指定单次请求获取的行数。默认1000。 连接属性 否 可选参数。单击“添加”可增加多个指定数据源的JDBC连接器的属性(属性名称和值),参考对应数据库的JDBC连接器说明文档进行配置。 引用符号 否 配置引用符号,例如"。 数据库包围标识符。对某些数据库意味着大小写敏感,如不需用请置空。 数据源驱动配置 驱动程序名称 是 com.sap.db.jdbc.Driver:连接RDS for SAP HANA数据源时,选择此驱动程序名称。 驱动文件路径 是 驱动文件在OBS上的路径。需要您自行到官网下载.jar格式驱动并上传至OBS中。 SAP HANA驱动获取地址:https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/,建议2.18.13版本。 说明: 驱动文件所在的OBS路径中不能包含中文。 出于安全考虑,当前系统会对所选择的驱动文件校验其SHA512值和字节大小。如不在允许清单中,则会提示报错,推荐您使用建议版本的驱动文件,或联系客服或技术支持人员。 如果需要更新驱动文件,则需要先在数据集成页面重启CDM集群,然后通过编辑数据连接的方式重新选择新版本驱动,更新驱动才能生效。 数据源认证及其他功能配置 用户名 是 数据库的用户名,创建集群的时候,输入的用户名。 密码 是 数据库的访问密码,创建集群的时候,输入的密码。 父主题: 配置DataArts Studio数据连接参数
  • Redis数据连接参数说明 表1 Redis数据连接 参数 是否必选 说明 数据连接类型 是 Redis连接固定选择为Redis。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 手动 否 通过代理连接的时候,此项可配置,通过勾选按钮来选择集群名模式或连接串模式。 使用集群名模式时通过选择填写集群名称进行连接配置。 使用连接串模式填写对应集群的IP和端口进行连接配置。 MRS集群名 是 选择所属的MRS集群。仅支持连接MRS云服务,自建Hadoop集群必须在纳管到MRS云服务后才可以选择。系统会显示所有项目ID和企业项目相同的MRS集群。 说明: 当前DataArts Studio不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 如果选择集群后连接失败,请检查MRS集群与作为Agent的CDM实例是否网络互通。网络互通需满足如下条件: DataArts Studio实例(指DataArts Studio实例中的CDM集群)与MRS集群处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP,MRS集群可以访问公网且防火墙规则已开放连接端口。 DataArts Studio实例(指DataArts Studio实例中的CDM集群)与MRS集群同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 此外,还需确保该MRS集群与DataArts Studio工作空间所属的企业项目相同,如果不同,您需要修改工作空间的企业项目。 说明: 当同一Agent连接多个MRS集群时,如果其中一个MRS集群被删除或状态异常,会影响另外一个正常的MRS集群数据连接。因此建议一个Agent对应一个MRS集群数据连接。 服务器列表 是 手动参数为连接串模式时显示该参数。 一个或多个通过逗号分割的服务器列表(服务器域名或IP地址:服务器端口)。 例如: 192.168.0.1:27017,192.168.0.2:27017 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 CDM集群提供了DataArts Studio与Redis通信的代理。创建Redis类型的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据集成配置 Redis部署方式 是 选择Redis部署方式。 包括Single模式、Cluster模式、Proxy模式。 若手动参数选择集群名模式时,仅支持Cluster模式。 Redis数据库索引 是 Redis部署方式为Single时的必选项。 类似关系数据库的数据库名称。 例如:0。 配置文件路径 是 认证类型为KERBEROS时显示该参数。 集群配置文件的OBS存放路径。 keytab文件路径 是 认证类型为KERBEROS时显示该参数。 配置keytab文件的OBS存放路径。 Principal名称 是 认证类型为KERBEROS时显示该参数。 Kerberos认证用户名。 数据源认证及其他功能配置 认证类型 是 手动参数选择连接串模式时的必选项。 选择数据库的认证类型。 包括SIMPLE类型、KERBEROS类型。 密码 是 数据库的访问密码,创建集群的时候,输入的密码。 父主题: 配置DataArts Studio数据连接参数
  • 约束限制 作业源端开启“使用SQL语句”参数时不支持配置转换器。 如果在字段映射界面,通过获取样值的方式无法获得所有列(例如从HBase/CloudTable/MongoDB导出数据时,CDM有较大概率无法获得所有列),则可以单击后选择“添加新字段”来手动增加,确保导入到目的端的数据完整。 关系数据库、Hive、MRS Hudi及DLI做源端时,不支持获取样值功能。 SQLServer作为目的端数据源时,不支持timestamp类型字段的写入,需修改为其他时间类型字段写入(如datetime)。 当作业源端为OBS、迁移CSV文件时,并且配置“解析首行为列名”参数的场景下显示列名。 当使用二进制格式进行文件到文件的迁移时,没有配置字段转换器这一步。 自动创表场景下,需在目的端表中提前手动新增字段,再在字段映射里新增字段。 添加完字段后,新增的字段在界面不显示样值,不会影响字段值的传输,会将字段值直接写入目的端。 如果字段映射关系不正确,您可以通过拖拽字段、单击对字段批量映射两种方式来调整字段映射关系。 创建表达式转换器时,表达式的功能是对该字段的数据进行处理,故不建议使用时间宏。 如果是导入到数据仓库服务(DWS),则还需在目的字段中选择分布列,建议按如下顺序选取分布列: 有主键可以使用主键作为分布列。 多个数据段联合做主键的场景,建议设置所有主键作为分布列。 在没有主键的场景下,如果没有选择分布列,DWS会默认第一列作为分布列,可能会有数据倾斜风险。
  • 表达式转换 使用JSP表达式语言(Expression Language)对当前字段或整行数据进行转换。JSP表达式语言可以用来创建算术和逻辑表达式。在表达式内可以使用整型数,浮点数,字符串,常量true、false和null。 表达式支持以下两个环境变量: value:当前字段值。 row:当前行,数组类型。 表达式支持的工具类用法罗列如下,未列出即表示不支持: 如果当前字段为字符串类型,将字符串全部转换为小写,例如将“aBC”转换为“abc”。 表达式:StringUtils.lowerCase(value) 将当前字段的字符串全部转为大写。 表达式:StringUtils.upperCase(value) 如果想将第1个日期字段格式从“2018-01-05 15:15:05”转换为“20180105”。 表达式:DateUtils.format(DateUtils.parseDate(row[0],"yyyy-MM-dd HH:mm:ss"),"yyyyMMdd") 如果想将时间戳转换成“yyyy-MM-dd hh:mm:ss”格式的日期字符串的类型,例如字段值为“1701312046588”,转化后为“2023-11-30 10:40:46”。 表达式:DateUtils.format(NumberUtils.toLong(value),"yyyy-MM-dd HH:mm:ss") 如果想将“yyyy-MM-dd hh:mm:ss”格式的日期字符串转换成时间戳的类型。 表达式:DateUtils.getTime(DateUtils.parseDate(value,"yyyy-MM-dd hh:mm:ss")) 如果当前字段值为“yyyy-MM-dd”格式的日期字符串,需要截取年,例如字段值为“2017-12-01”,转换后为“2017”。 表达式:StringUtils.substringBefore(value,"-") 如果当前字段值为数值类型,转换后值为当前值的两倍。 表达式:value*2 如果当前字段值为“true”,转换后为“Y”,其它值则转换后为“N”。 表达式:value=="true"?"Y":"N" 如果当前字段值为字符串类型,当为空时,转换为“Default”,否则不转换。 表达式:empty value? "Default":value 如果想将日期字段格式从“2018/01/05 15:15:05”转换为“2018-01-05 15:15:05”。 表达式:DateUtils.format(DateUtils.parseDate(value,"yyyy/MM/dd HH:mm:ss"),"yyyy-MM-dd HH:mm:ss") 获取一个36位的UUID(Universally Unique Identifier,通用唯一识别码)。 表达式:CommonUtils.randomUUID() 如果当前字段值为字符串类型,将首字母转换为大写,例如将“cat”转换为“Cat”。 表达式:StringUtils.capitalize(value) 如果当前字段值为字符串类型,将首字母转换为小写,例如将“Cat”转换为“cat”。 表达式:StringUtils.uncapitalize(value) 如果当前字段值为字符串类型,使用空格填充为指定长度,并且将字符串居中,当字符串长度不小于指定长度时不转换,例如将“ab”转换为长度为4的“ab”。 表达式:StringUtils.center(value,4) 删除字符串末尾的一个换行符(包括“\n”、“\r”或者“\r\n”),例如将“abc\r\n\r\n”转换为“abc\r\n”。 表达式:StringUtils.chomp(value) 如果字符串中包含指定的字符串,则返回布尔值true,否则返回false。例如“abc”中包含“a”,则返回true。 表达式:StringUtils.contains(value,"a") 如果字符串中包含指定字符串的任一字符,则返回布尔值true,否则返回false。例如“zzabyycdxx”中包含“z”或“a”任意一个,则返回true。 表达式:StringUtils.containsAny(value,"za") 如果字符串中不包含指定的所有字符,则返回布尔值true,包含任意一个字符则返回false。例如“abz”中包含“xyz”里的任意一个字符,则返回false。 表达式:StringUtils.containsNone(value,"xyz") 如果当前字符串只包含指定字符串中的字符,则返回布尔值true,包含任意一个其它字符则返回false。例如“abab”只包含“abc”中的字符,则返回true。 表达式:StringUtils.containsOnly(value,"abc") 如果字符串为空或null,则转换为指定的字符串,否则不转换。例如将空字符转换为null。 表达式:StringUtils.defaultIfEmpty(value,null) 如果字符串以指定的后缀结尾(包括大小写),则返回布尔值true,否则返回false。例如“abcdef”后缀不为null,则返回false。 表达式:StringUtils.endsWith(value,null) 如果字符串和指定的字符串完全一样(包括大小写),则返回布尔值true,否则返回false。例如比较字符串“abc”和“ABC”,则返回false。 表达式:StringUtils.equals(value,"ABC") 从字符串中获取指定字符串的第一个索引,没有则返回整数-1。例如从“aabaabaa”中获取“ab”的第一个索引1。 表达式:StringUtils.indexOf(value,"ab") 从字符串中获取指定字符串的最后一个索引,没有则返回整数-1。例如从“aFkyk”中获取“k”的最后一个索引4。 表达式:StringUtils.lastIndexOf(value,"k") 从字符串中指定的位置往后查找,获取指定字符串的第一个索引,没有则转换为“-1”。例如“aabaabaa”中索引3的后面,第一个“b”的索引是5。 表达式:StringUtils.indexOf(value,"b",3) 从字符串获取指定字符串中任一字符的第一个索引,没有则返回整数-1。例如从“zzabyycdxx”中获取“z”或“a”的第一个索引0。 表达式:StringUtils.indexOfAny(value,"za") 如果字符串仅包含Unicode字符,返回布尔值true,否则返回false。例如“ab2c”中包含非Unicode字符,返回false。 表达式:StringUtils.isAlpha(value) 如果字符串仅包含Unicode字符或数字,返回布尔值true,否则返回false。例如“ab2c”中仅包含Unicode字符和数字,返回true。 表达式:StringUtils.isAlphanumeric(value) 如果字符串仅包含Unicode字符、数字或空格,返回布尔值true,否则返回false。例如“ab2c”中仅包含Unicode字符和数字,返回true。 表达式:StringUtils.isAlphanumericSpace(value) 如果字符串仅包含Unicode字符或空格,返回布尔值true,否则返回false。例如“ab2c”中包含Unicode字符和数字,返回false。 表达式:StringUtils.isAlphaSpace(value) 如果字符串仅包含ASCII可打印字符,返回布尔值true,否则返回false。例如“!ab-c~”返回true。 表达式:StringUtils.isAsciiPrintable(value) 如果字符串为空或null,返回布尔值true,否则返回false。 表达式:StringUtils.isEmpty(value) 如果字符串中仅包含Unicode数字,返回布尔值true,否则返回false。 表达式:StringUtils.isNumeric(value) 获取字符串最左端的指定长度的字符,例如获取“abc”最左端的2位字符“ab”。 表达式:StringUtils.left(value,2) 获取字符串最右端的指定长度的字符,例如获取“abc”最右端的2位字符“bc”。 表达式:StringUtils.right(value,2) 将指定字符串拼接至当前字符串的左侧,需同时指定拼接后的字符串长度,如果当前字符串长度不小于指定长度,则不转换。例如将“yz”拼接到“bat”左侧,拼接后长度为8,则转换后为“yzyzybat”。 表达式:StringUtils.leftPad(value,8,"yz") 将指定字符串拼接至当前字符串的右侧,需同时指定拼接后的字符串长度,如果当前字符串长度不小于指定长度,则不转换。例如将“yz”拼接到“bat”右侧,拼接后长度为8,则转换后为“batyzyzy”。 表达式:StringUtils.rightPad(value,8,"yz") 如果当前字段为字符串类型,获取当前字符串的长度,如果该字符串为null,则返回0。 表达式:StringUtils.length(value) 如果当前字段为字符串类型,删除其中所有的指定字符串,例如从“queued”中删除“ue”,转换后为“qd”。 表达式:StringUtils.remove(value,"ue") 如果当前字段为字符串类型,移除当前字段末尾指定的子字符串。指定的子字符串若不在当前字段的末尾,则不转换,例如移除当前字段“www.domain.com”后的“.com”。 表达式:StringUtils.removeEnd(value,".com") 如果当前字段为字符串类型,移除当前字段开头指定的子字符串。指定的子字符串若不在当前字段的开头,则不转换,例如移除当前字段“www.domain.com”前的“www.”。 表达式:StringUtils.removeStart(value,"www.") 如果当前字段为字符串类型,替换当前字段中所有的指定字符串,例如将“aba”中的“a”用“z”替换,转换后为“zbz”。 表达式:StringUtils.replace(value,"a","z") 如果当前字段为字符串类型,一次替换字符串中的多个字符,例如将字符串“hello”中的“h”用“j”替换,“o”用“y”替换,转换后为“jelly”。 表达式:StringUtils.replaceChars(value,"ho","jy") 如果字符串以指定的前缀开头(区分大小写),则返回布尔值true,否则返回false,例如当前字符串“abcdef”以“abc”开头,则返回true。 表达式:StringUtils.startsWith(value,"abc") 如果当前字段为字符串类型,去除字段中首、尾处所有指定的字符,例如去除“abcyx”中首尾所有的“x”、“y”、“z”和“b”,转换后为“abc”。 表达式:StringUtils.strip(value,"xyzb") 如果当前字段为字符串类型,去除字段末尾所有指定的字符,例如去除当前字段末尾的"abc"字符串。 表达式:StringUtils.stripEnd(value,"abc") 如果当前字段为字符串类型,去除字段开头所有指定的字符,例如去除当前字段开头的所有空格。 表达式:StringUtils.stripStart(value,null) 如果当前字段为字符串类型,获取字符串指定位置后(索引从0开始,包括指定位置的字符)的子字符串,指定位置如果为负数,则从末尾往前计算位置,末尾第一位为-1。例如获取“abcde”第2个字符(即c)及之后的字符串,则转换后为“cde”。 表达式:StringUtils.substring(value,2) 如果当前字段为字符串类型,获取字符串指定区间(索引从0开始,区间起点包括指定位置的字符,区间终点不包含指定位置的字符)的子字符串,区间位置如果为负数,则从末尾往前计算位置,末尾第一位为-1。例如获取“abcde”第2个字符(即c)及之后、第4个字符(即e)之前的字符串,则转换后为“cd”。 表达式:StringUtils.substring(value,2,4) 如果当前字段为字符串类型,获取当前字段里第一个指定字符后的子字符串。例如获取“abcba”中第一个“b”之后的子字符串,转换后为“cba”。 表达式:StringUtils.substringAfter(value,"b") 如果当前字段为字符串类型,获取当前字段里最后一个指定字符后的子字符串。例如获取“abcba”中最后一个“b”之后的子字符串,转换后为“a”。 表达式:StringUtils.substringAfterLast(value,"b") 如果当前字段为字符串类型,获取当前字段里第一个指定字符前的子字符串。例如获取“abcba”中第一个“b”之前的子字符串,转换后为“a”。 表达式:StringUtils.substringBefore(value,"b") 如果当前字段为字符串类型,获取当前字段里最后一个指定字符前的子字符串。例如获取“abcba”中最后一个“b”之前的子字符串,转换后为“abc”。 表达式:StringUtils.substringBeforeLast(value,"b") 如果当前字段为字符串类型,获取嵌套在指定字符串之间的子字符串,没有匹配的则返回null。例如获取“tagabctag”中“tag”之间的子字符串,转换后为“abc”。 表达式:StringUtils.substringBetween(value,"tag") 如果当前字段为字符串类型,删除当前字符串两端的控制字符(char≤32),例如删除字符串前后的空格。 表达式:StringUtils.trim(value) 将当前字符串转换为字节,如果转换失败,则返回0。 表达式:NumberUtils.toByte(value) 将当前字符串转换为字节,如果转换失败,则返回指定值,例如指定值配置为1。 表达式:NumberUtils.toByte(value,1) 将当前字符串转换为Double数值,如果转换失败,则返回0.0d。 表达式:NumberUtils.toDouble(value) 将当前字符串转换为Double数值,如果转换失败,则返回指定值,例如指定值配置为1.1d。 表达式:NumberUtils.toDouble(value,1.1d) 将当前字符串转换为Float数值,如果转换失败,则返回0.0f。 表达式:NumberUtils.toFloat(value) 将当前字符串转换为Float数值,如果转换失败,则返回指定值,例如配置指定值为1.1f。 表达式:NumberUtils.toFloat(value,1.1f) 将当前字符串转换为Int数值,如果转换失败,则返回0。 表达式:NumberUtils.toInt(value) 将当前字符串转换为Int数值,如果转换失败,则返回指定值,例如配置指定值为1。 表达式:NumberUtils.toInt(value,1) 将字符串转换为Long数值,如果转换失败,则返回0。 表达式:NumberUtils.toLong(value) 将当前字符串转换为Long数值,如果转换失败,则返回指定值,例如配置指定值为1L。 表达式:NumberUtils.toLong(value,1L) 将字符串转换为Short数值,如果转换失败,则返回0。 表达式:NumberUtils.toShort(value) 将当前字符串转换为Short数值,如果转换失败,则返回指定值,例如配置指定值为1。 表达式:NumberUtils.toShort(value,1) 将当前IP字符串转换为Long数值,例如将“10.78.124.0”转换为LONG数值是“172915712”。 表达式:CommonUtils.ipToLong(value) 从网络读取一个IP与物理地址映射文件,并存放到Map集合,这里的URL是IP与地址映射文件存放地址,例如“http://10.114.205.45:21203/sqoop/IpList.csv”。 表达式:HttpsUtils.downloadMap("url") 将IP与地址映射对象缓存起来并指定一个key值用于检索,例如“ipList”。 表达式:CommonUtils.setCache("ipList",HttpsUtils.downloadMap("url")) 取出缓存的IP与地址映射对象。 表达式:CommonUtils.getCache("ipList") 判断是否有IP与地址映射缓存。 表达式:CommonUtils.cacheExists("ipList") 根据IP取出对应的详细地址:国家_省份_城市_运营商,例如“1xx.78.124.0”对应的地址为“中国_广东_深圳_电信”,取不到对应地址则默认“**_**_**_**”。如果需要,可通过StringUtil类表达式对地址进行进一步拆分。 表达式:CommonUtils.getMapValue(CommonUtils.ipToLong(value),CommonUtils.cacheExists("ipLis")?CommonUtils.getCache("ipLis"):CommonUtils.setCache("ipLis",HttpsUtils.downloadMap("url"))) 根据指定的偏移类型(month/day/hour/minute/second)及偏移量(正数表示增加,负数表示减少),将指定格式的时间转换为一个新时间,例如将“2019-05-21 12:00:00”增加8个小时。 表达式:DateUtils.getCurrentTimeByZone("yyyy-MM-dd HH:mm:ss",value, "hour", 8) 如果value值为空或者null时,则返回字符串"aaa",否则返回value。 表达式:StringUtils.defaultIfEmpty(value,"aaa")
  • GBase数据连接参数说明 表1 GBASE数据连接 参数 是否必选 说明 数据连接类型 是 GBASE连接固定选择为GBASE。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 IP或域名 是 GBASE数据源的访问地址,可填写为IP或域名。 端口 是 关系型数据库数据源的访问端口。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 CDM集群提供了DataArts Studio与GBASE通信的代理。创建GBASE类型的数据连接时,请选择一个CDM集群。如果没有可用的CDM集群,请参考创建CDM集群进行创建。 说明: CDM集群作为管理中心数据连接Agent时,单集群的并发活动线程最大为200。即当多个数据连接共用同一Agent时,通过这些数据连接提交SQL脚本、Shell脚本、Python脚本等任务的同时运行上限为200,超出的任务将排队等待。建议您按照业务量情况规划多个Agent分担压力。 数据源驱动配置 驱动程序名称 是 驱动程序名称: com.gbase.jdbc.Driver:连接GBASE8A数据源时,选择此驱动程序名称。 驱动文件来源 是 选择驱动文件的来源方式。 驱动文件路径 是 “驱动文件来源”选择“OBS路径”时配置。 驱动文件在OBS上的路径。需要您自行到官网下载.jar格式驱动并上传至OBS中。 GBASE8A驱动:获取地址 https://www.gbase.cn/download/gbase-8a?category=DRIVER_PACKAGE,建议8.3.81.53版本。 说明: 驱动文件所在的OBS路径中不能包含中文。 如果需要更新驱动文件,则需要先在数据集成页面重启CDM集群,然后通过编辑数据连接的方式重新选择新版本驱动,更新驱动才能生效。 驱动文件 是 “驱动文件来源”选择“本地文件”时配置。 驱动文件请根据驱动类型去相关官网上下载,并在选择弹窗中上传驱动,或在该弹窗中指定已上传的驱动文件。 数据源认证及其他功能配置 用户名 是 数据库的用户名,创建集群的时候,输入的用户名。 密码 是 数据库的访问密码,创建集群的时候,输入的密码。 数据集成配置 数据库名称 是 配置为要连接的数据库名称。 单次请求行数 否 可选参数,指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 单次提交行数 否 指定每次批量提交的行数,根据数据目的端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 连接属性 否 常见配置举例如下: connectTimeout=360000与socketTimeout=360000:迁移数据量较大、或通过查询语句检索全表时,会由于连接超时导致迁移失败。此时可自定义连接超时时间与socket超时时间(单位ms),避免超时导致失败。 tinyInt1isBit=false或mysql.bool.type.transform=false:MySQL默认开启配置tinyInt1isBit=true,将TINYINT(1)当作BIT也就是Types.BOOLEAN来处理,会将1或0读取为true或false从而导致迁移失败,此时可关闭配置避免迁移报错。 useCursorFetch=false:CDM作业默认打开了JDBC连接器与关系型数据库通信使用二进制协议开关,即useCursorFetch=true。部分第三方可能存在兼容问题导致迁移时间转换出错,可以关闭此开关;开源MySQL数据库支持useCursorFetch参数,无需对此参数进行设置。 allowPublicKeyRetrieval=true:MySQL默认关闭允许公钥检索机制,因此连接MySQL数据源时,如果TLS不可用、使用RSA公钥加密时,可能导致连接报错。此时可打开公钥检索机制,避免连接报错。 引用符号 否 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。默认为"。 父主题: 配置DataArts Studio数据连接参数
  • SFTP/FTP数据连接参数说明(内测) 表1 SFTP/FTP数据连接 参数 是否必选 说明 数据连接类型 是 SFTP/FTP连接固定选择为SFTP/FTP。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 主机名或IP 是 服务器的IP地址或者主机名。 例如:sftp.apache.org或192.168.0.1。 端口 是 主机的SSH端口号。 数据传输超时时间 是 数据传输过程中连接服务器超时时间,单位毫秒。 默认值为:600000。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 DataArts Studio无法直接与非全托管服务进行连接,需要提供DataArts Studio与非全托管服务通信的代理。CDM集群可以提供通信代理服务,请选择一个CDM集群,如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据源认证及其他功能配置 用户名 是 连接SFTP/FTP的用户名。 密码 是 连接SFTP/FTP的密码。 父主题: 配置DataArts Studio数据连接参数
  • MongoDB数据连接参数说明(内测) 表1 MongoDB数据连接 参数 是否必选 说明 数据连接类型 是 MongoDB连接固定选择为MongoDB。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 服务器列表 是 一个或多个通过逗号分割的服务器列表(服务器域名或IP地址:服务器端口)。 例如: 192.168.0.1:27017,192.168.0.2:27017。 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 DataArts Studio无法直接与非全托管服务进行连接,需要提供DataArts Studio与非全托管服务通信的代理。CDM集群可以提供通信代理服务,请选择一个CDM集群,如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据集成配置 数据库名称 是 要连接的数据库。注意,当用户名使用“rwuser”账号时,数据库名称需填写为“admin”。 直连模式 否 是否直连,适用于主节点网络通,副本节点网络不通场景。 属性配置 否 自定义连接属性,当前支持socketTimeout,maxWaitTime,connectTimeout,serverSelectionTimeout,单位为ms。 例如:socketTimeout=60000。 数据源认证及其他功能配置 用户名 是 连接MongoDB的用户名。 密码 是 连接MongoDB的密码。 父主题: 配置DataArts Studio数据连接参数
  • DMS Kafka数据连接参数说明(内测) 表1 DMS Kafka数据连接 参数 是否必选 说明 数据连接类型 是 DMS Kafka连接固定选择为DMS Kafka。 数据连接名称 是 数据连接的名称,只能包含字母、数字、下划线和中划线,且长度不超过100个字符。 描述 否 为更好地识别数据连接,此处加以描述信息,长度不能超过100个字符。 标签 否 标识数据连接的属性。设置标签后,便于统一管理。 说明: 标签的名称,只能包含中文、英文字母、数字和下划线,不能以下划线开头,且长度不能超过100个字符。 适用组件 是 选择此连接适用的组件。勾选组件后,才能在相应组件内使用本连接。 说明: 当开启离线数据集成或实时数据集成作业特性后,可勾选数据集成组件,勾选后在数据开发组件创建集成作业时支持选择本数据连接。 离线数据集成或实时数据集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 基础与网络连通配置 Kafka Broker 是 Kafka Broker 格式为 host:port。例如:127.0.0.1:9092,127.0.0.1:9093 Kafka SASL_SSL 是 开启Kafka SASL_SSL,数据将加密传输,安全性更高,但性能会下降。请根据创建的kafka集群认证填入相应配置:security.protocol=SASL_SSL/SASL_PLAINTEXT,sasl.mechanism=PLAIN/SC RAM -SHA-512 KMS密钥 是 通过KMS加解密数据源认证信息,选择KMS中的任一默认密钥或自定义密钥即可。 说明: 第一次通过DataArts Studio或KPS使用KMS加密时,会自动生成默认密钥dlf/default或kps/default。关于默认密钥的更多信息,请参见什么是默认密钥。 仅支持通过对称密钥加密,暂不支持非对称密钥。 绑定Agent 是 DataArts Studio无法直接与非全托管服务进行连接,需要提供DataArts Studio与非全托管服务通信的代理。CDM集群可以提供通信代理服务,请选择一个CDM集群,如果没有可用的CDM集群,请参考创建CDM集群进行创建。 数据集成配置 连接属性 否 选择连接属性。 socketTimeout:配置JDBC连接超时时间,单位为毫秒 mysql.bool.type.transform:配置mysql读取时,是否将tinyint(1)解析成boolean类型,默认为true。 数据源认证及其他功能配置 用户名 是 开启Kafka SASL_SSL时的必选项。 连接DMS Kafka的用户名。 密码 是 开启Kafka SASL_SSL时的必选项。 连接DMS Kafka的密码。 父主题: 配置DataArts Studio数据连接参数
  • 配置MRS Kafka目的端参数 表1 Kafka作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 Topic 输入Topic数据库名称。 default 数据格式 写入目的端时使用的数据格式。 CSV:将列按照字段分隔符拼接。 JSON: 将所有列按照指定字段名称拼接为JSON字符串。 JSON格式 字段分隔 数据格式为CSV显示该参数。 写入目的端时数据之间的字段分隔符。默认为空格。 , keyIndex 数据格式为CSV显示该参数。 Kafka Writer中作为Key的那一列,填写后value不会记录此列。如字段列下标为0、1、2,keyIndex取值为0,则valueIndex为1、2。 keyIndex下标取值范围是从0开始的正整数,否则任务执行会报错。 - 额外配置 数据格式为JSON显示该参数。 该参数指定不同的类型的控制写入数据格式或者指定配置参数。 使用该能力前必须配置参数configType,当前支持的值为COMBINE_DATA。 configType为COMBINE_DATA支持的搭配的参数如下: batchnum:将多条数据合并成一条,默认值为1。 featureTag:将每一条数据都打tag标签。 startEndMark:默认是为false。设置为true时,写入消息前将会同步一个开始消息和结束的消息。 columnAsKey:指定写入数据key值,也可以通过指定字段值作为key,通过配置@{column1}--@{column2}。 例如:目的端字段为id、name,需要使用这两个字段值,则配置成@{id}--@{name}。 schema:该参数会显示在写入的数据的消息体中,此处配置该参数时后续显示为设置的参数;如果没有配置,默认使用原表的schema值。 table:该参数会显示在写入的数据的消息体中,此处配置该参数时后续显示为设置的参数;如果没有配置,默认使用源端的表名。 acks:取值0,1、all。 jobId:默认值为0,页面配置该参数,则在消息里生成该字段的信息。 比如需要给数据打标签需配置两个参数,即configType:COMBINE_DATA,featureTag:group。 父主题: 配置作业目的端参数
  • 配置MongoDB目的端参数 表1 MongoDB作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 数据库 输入或选择数据库名称。单击输入框后面的按钮可以进入数据库的选择界面。 default 集合名 写入数据的集合名,单击输入框后面的按钮可进入集合的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 高级属性 迁移行为 选择写入目的端的迁移方式。 新增:将文件记录直接插入指定的集合。 有则替换,无则新增:以指定的过滤键作为查询条件。如果在集合中找到匹配的记录,则替换该记录。如果不存在,则添加新记录。 替换:使用指定的过滤键作为查询条件。如果在集合中找到匹配的记录,则替换该记录。如果没有,则不会添加新记录。 新增 导入前准备语句 执行任务之前率先执行的SQL语句。目前仅允许执行一条SQL语句。 create table 父主题: 配置作业目的端参数
  • 配置HBase 目的端参数 表1 HBase作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 表名 写入数据的目标表名,单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 导入前清空数据 导入前是否清空表中的数据。 是:清空表中数据。 否:不清空。 否 高级属性 Rowkey冗余 是否将选做Rowkey的数据同时写入HBase的列。 否 WAL开关 是否写WAL,不写WAL能提升性能,但如果HBase服务宕机可能会造成数据丢失。 是 匹配数据类型 是否匹配类型,例如数据库的int类型列数据按照int类型转换为二进制写入HBase。 否 父主题: 配置作业目的端参数
  • 配置MongoDB源端参数 暂不支持开启SSL的MongoDB数据源。 表1 MongoDB作为源端时的作业参数 参数类型 参数名 说明 是否必须填 取值样例 基本参数 数据库 输入或选择数据库名称,单击输入框后面的按钮可进入集合的选择界面。 是 default 集合名 输入或选择集合名,单击输入框后面的按钮可进入集合的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 是 table 高级属性 查询筛选 创建用于匹配文档的筛选器。 例如:{HTTPStatusCode:{$gt:"400",$lt:"500"},HTTPMethod:"GET"}。 否 {HTTPStatusCode:{$gt:"400",$lt:"500"},HTTPMethod:"GET"} 父主题: 配置作业源端参数
  • 配置ElasticSearch源端参数 表1 ElasticSearch作为源端时的作业参数 参数类型 参数名 说明 是否必须填 取值样例 基本参数 索引 类似关系数据库的schema或数据库名称,整库迁移多索引以逗号分隔。 支持输入索引别名。 支持输入通配符表达式(*)。如果选择了多个索引,索引的结构必须一致。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 是 index_sample 类型 类似关系数据库的schema或数据库名称,整库迁移多索引以逗号分隔。 支持输入索引别名。 支持输入通配符表达式(*)。如果选择了多个索引,索引的结构必须一致。 是 type_example 高级属性 拆分nested类型字段 是否将nested字段的json内容拆分,如 a:{ b:{ c:1, d:{ e:2, f:3 } } } 将拆成三个字段 [a.b.c], [a.b.d.e], [a.b.d.f]。 否 是 过滤条件 对源数据进行过滤,使用ES查询的参数q语法。 否 last_name:Smith 抽取元字段 是否抽取索引的元字段,目前只支持(_index、_type、_id、_score)。 例如:_index、_type、_id、_score。 否 _index 分页大小 分页大小。 否 1000 ScrollId超时时间配置 ScrollId超时时间配置,默认5分钟。 否 5 重试次数 单次请求失败重试次数。最大限制重试次数10次。 否 3 父主题: 配置作业源端参数
  • 配置ClickHouse源端参数 参数类型 参数名 说明 取值样例 基本参数 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。 单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。 单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 父主题: 配置作业源端参数
  • 配置Doris源端参数 Doris源端参数列表 参数类型 参数名 说明 取值样例 基本参数 使用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; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。 单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。 单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。例如:表名配置为user_[0-9]{1,2},会匹配 user_0 到 user_9,user_00 到 user_99 的表。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 抽取分片字段 表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。 一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分片字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分片字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 分片字段含有空值 “按表分区抽取”选择“否”时,显示该参数,是否允许分片字段包含空值。 是 父主题: 配置作业源端参数
  • 配置ClickHouse目的端参数 表1 ClickHouse作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 模式或表空间 待写入数据的数据库名称,支持自动创建Schema。单击输入框后面的按钮可选择模式或表空间。 schema 表名 写入数据的目标表名,单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 高级属性 单次写入行数 指定单次批量写入的行数(注意:一次事务提交100个批量的数据)。 10000 导入前准备语句 执行任务之前率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句。 create temp table 导入后完成语句 执行任务之后执行的SQL语句,目前仅允许执行一条SQL语句。 merge into 父主题: 配置作业目的端参数
  • 配置OBS目的端参数 支持使用CSV、CarbonData或二进制格式批量传输大量文件到OBS。 表1 OBS作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 桶名 写入数据的OBS桶名。 bucket_2 写入目录 写入数据到OBS服务器的目录,目录前面不加“/”。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 directory/ 文件格式 传输数据时使用的格式。其中CSV和JSON仅支持迁移到数据表场景,二进制格式适用于文件迁移场景。例如:CSV格式。 写入后的文件格式,可选择以下文件格式: CSV格式:按CSV格式写入,适用于数据表到文件的迁移。 Parquet格式:按Parquet格式写入,适用于数据表到文件的迁移。 ORC格式:按ORC格式写入,适用于数据表到文件的迁移。 二进制格式:选择“二进制格式”时不解析文件内容直接传输,CDM会原样写入文件,不改变原始文件格式,适用于文件到文件的迁移。 如果是文件类数据源(FTP/SFTP/HDFS/OBS)之间相互迁移数据,此处的“文件格式”只能选择与源端的文件格式一致。 说明: 当源端为MRS Hive数据源时,仅支持配置CSV格式。 当源端为FTP/SFTP数据源时,仅支持配置二进制格式。 CSV格式 重复文件处理方式 “文件格式”为“CSV”时不存在该参数。 (二进制格式时)对于Binary,CSV的文件迁移场景,判断条件为文件名相同,文件大小相同。 REPLACE:替换重复文件。 SKIP:跳过重复文件。 ABANDON:停止任务。 对于Parquet、ORC的结构化集成场景,判断条件为自定义文件名前缀匹配。 REPLACE:写入前清理自定义文件名前缀匹配的所有文件。例如“自定义文件名”:“abc”,将清理所有abc开头的文件。 APPEND:写入前不进行任何处理 ABANDON:如果目录下存在自定义文件名前缀匹配的文件,直接报错。 REPLACE 高级属性 字段分隔符 文件中的字段分隔符。“文件格式”为“二进制格式”时该参数值无效。 , 写入文件大小 源端为数据库时该参数才显示,支持按大小分成多个文件存储,避免导出的文件过大,单位为MB。 1024 编码类型 文件编码类型,例如:“UTF-8”或“GBK”。“文件格式”为“二进制格式”时该参数值无效。 GBK 首行为标题行 从关系型数据库导出数据到OBS,“文件格式”为“CSV格式”时,才有该参数。 在迁移表到CSV文件时,CDM默认是不迁移表的标题行,如果该参数选择“是”,CDM在才会将表的标题行数据写入文件。 否 校验MD5值 计算源文件的MD5值,并与OBS返回的MD5值进行校验。 “文件格式”为“二进制格式”时,才有该参数。 如果源端已经存在MD5文件,则直接读取源端的MD5文件与OBS返回的MD5值进行校验。例如:否 否 记录校验结果 “文件格式”为“二进制格式”时,才有该参数。 将MD5的校验结果写入到OBS。记录每个文件的校验结果。例如:否 否 作业成功标识文件 当作业执行成功时,会在写入目录下生成一个标识文件,文件名由用户指定。不指定时默认关闭该功能。 finish.txt 使用包围符 “文件格式”为“CSV格式”,才有该参数,用于将数据库的表迁移到文件系统的场景。 选择“是”时,如果源端数据表中的某一个字段内容包含字段分隔符或换行符,写入目的端时CDM会使用双引号(")作为包围符将该字段内容括起来,作为一个整体存储,避免其中的字段分隔符误将一个字段分隔成两个,或者换行符误将字段换行。例如:数据库中某字段为hello,world,使用包围符后,导出到CSV文件的时候数据为"hello,world"。 否 自定义目录层次 选择“是”时,支持迁移后的文件按照自定义的目录存储。即只迁移文件,不迁移文件所归属的目录。 是 目录层次 自定义迁移后文件的存储路径,支持时间宏变量。 说明: 源端为关系型数据库数据源时,目录层次为源端表名+自定义目录,其他场景下为自定义目录。 ${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)} 压缩格式 “文件格式”为“CSV”时不存在该参数。 选择对应压缩格式的源文件: 无:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 无 加密方式 选择是否对上传的数据进行加密,以及加密方式: 无:不加密,直接写入数据。 KMS:使用数据加密服务中的KMS进行加密。如果启用KMS加密则无法进行数据的MD5校验。 详细使用方法请参见迁移文件时加解密。 KMS KMS ID 写入文件时加密使用的密钥,“加密方式”选择“KMS”时显示该参数。单击输入框后面的,可以直接选择在数据加密服务中已创建好的KMS密钥。 当使用与CDM集群相同项目下的KMS密钥时,不需要修改下面的“项目ID”参数。 当用户使用其它项目下的KMS密钥时,需要修改下面的“项目ID”参数。 53440ccb-3e73-4700-98b5-71ff5476e621 项目ID KMS ID所属的项目ID,该参数默认值为当前CDM集群所属的项目ID。 当“KMS ID”与CDM集群在同一个项目下时,这里的“项目ID”保持默认即可。 当“KMS ID”使用的是其它项目下的KMS ID时,这里需要修改为KMS所属的项目ID。 9bd7c4bd54e5417198f9591bef07ae67 复制Content-Type属性 “文件格式”为“二进制格式”时,才有该参数。 上传对象时复制源文件的“Content-Type”属性,主要用于静态网站的迁移场景。不支持写入到归档存储的桶。 否 自定义文件名 从关系型数据库导出数据到OBS,且“文件格式”为“CSV格式”时,才有该参数。 用户可以通过该参数自定义OBS端生成的文件名,支持以下自定义方式: 字符串,支持特殊字符。例如“cdm#”,则生成的文件名为“cdm#.csv”。 时间宏,例如“${timestamp()}”,则生成的文件名为“1554108737.csv”。 表名宏,例如“${tableName}”,则生成的文件名为源表名“sqltabname.csv”。 版本宏,例如“${version}”,则生成的文件名为集群版本号“2.9.2.200.csv”。 字符串和宏(时间宏/表名宏/版本宏)任意组合,例如“cdm#${timestamp()}_${version}”,则生成的文件名为“cdm#1554108737_2.9.2.200.csv”。 cdm Blob开关 从关系型数据库导出数据到OBS,才有该参数。 启用后将会以根目录-表名-数据类型-数据的文件夹模型生成文件。例如:raw_schema/tbl_student/datas/tbl_student_1.csv 否 Blog文件扩展名 “文件夹模式”为“是”时,才有该参数。文件夹模式下自定义Blob/Clog数据的文件扩展名。 .dat/.jpg/.png 父主题: 配置作业目的端参数
  • 配置ElasticSearch目的端参数 表1 Elasticsearch作为目的端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 索引 待写入数据的Elasticsearch的索引,类似关系数据库中的数据库名称。CDM支持自动创建索引和类型,索引和类型名称只能全部小写,不能有大写。 index 类型 待写入数据的Elasticsearch的类型,类似关系数据库中的表名称。类型名称只能全部小写,不能有大写。 说明: Elasticsearch搜索引擎7.x及以上版本不支持自定义类型,只能使用_doc类型。此处即使自定义也不会生效。 type 操作 操作类型。 INDEX:不指定主键,es内部生成id,使得每次写入都是不同id的新增数据文件。 CREATE:需要指定主键。如果主键已经存在,写入失败。 UPDATE:需要指定主键。如果主键已经存在,覆盖原有数据。 UPSERT:需要指定主键。如果主键已经存在,同UPDATE。如果主键不存在,则新建文档写入。 UPSERT 主键取值方式 文档类型为UPSERT,UPDATE或CREATE时支持的主键取值方式。 单主键:业务主键模式,选择主键,将其的值写入id。 联合主键:联合主键模式,多选主键,将其的值用主键分隔符拼接写入id。 无主键:仅操作类型为CREATE时支持,无需指定主键,目的端会自动生成id作为主键写入。 单主键 导入前清空数据 定义当前任务在索引Index已经存在的情况是否需要删除数据。 是:需要删除该索引下的数据。 否:写入数据前保留数据。 否 主键分隔符 主键取值方式为“联合主键”时,显示主键分隔符配置项,用于将多选的主键用主键分隔符拼接写入id。 _ 高级属性 管道ID 需要先在kibana中创建管道ID,这里才可以选择,该参数用于数据传到Elasticsearch后,通过Elasticsearch的数据转换pipeline进行数据格式变换。 pipeline_id 开启路由 开启路由后,支持指定某一列的值作为路由写入Elasticsearch。 说明: 开启路由前建议先建好目的端索引,可提高查询效率。 否 路由字段 “开启路由”参数选择为“是”时配置,用于配置目的端路由字段。目的端索引存在但是获取不到字段信息时,支持手动填写字段。路由字段允许为空,为空时写入Elasticsearch不指定routing值。 value1 定时创索引 对于持续写入数据到Elasticsearch的流式作业,CDM支持在Elasticsearch中定时创建新索引并写入数据,方便用户后期删除过期的数据。支持按以下周期创建新索引: 每小时:每小时整点创建新索引,新索引的命名格式为“索引名+年+月+日+小时”,例如“index2018121709”。 每天:每天零点零分创建新索引,新索引的命名格式为“索引名+年+月+日”,例如“index20181217”。 每周:每周周一的零点零分创建新索引,新索引的命名格式为“索引名+年+周”,例如“index201842”。 每月:每月一号零点零分创建新索引,新索引的命名格式为“索引名+年+月”,例如“index201812”。 不创建:选择此项表示不创建定时索引。 从文件类抽取数据时,必须配置单个抽取(“抽取并发数”参数配置为1),否则该参数无效。 每小时 单行提交次数 配置需要单次提交的大小。 10000 重试次数 单次请求失败重试次数,最大限制重试次数10次。 3 父主题: 配置作业目的端参数
  • 配置DLI目的端参数 表1 DLI作为目的端时的作业参数 参数名 说明 取值样例 资源队列 选择目的表所属的资源队列。 DLI的default队列无法在迁移作业中使用,您需要在DLI中新建SQL队列。 新建队列操作请参考创建队列。 cdm 数据库名称 写入数据的数据库名称。 dli 表名 写入数据的表名。 car_detail 导入模式 选择导入模式。 TRUNCATE+LOAD方式:在导入前执行TRUNCATE语句清空DLI表分区。 LOAD方式:在原表里直接追加数据方式写入数据。 说明: DLI的Hudi表不支持多并发。 INSERT_OVERWRITE方式:使用分区覆盖的方式写入数据。 INSERT_OVERWRITE 空字符串作为null 如果设置为true,空字符串将作为null。 否 自动建表模式 选择建表模式:一键建表,作业配置过程中一键建表,表生成后继续配置作业。 一键建表 分区 分区信息。在分区字段对应的框输入分区的值。 year=2020,location=sun 父主题: 配置作业目的端参数
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全