华为云用户手册

  • 配置HBase/CloudTable源端参数 作业中源连接为HBase连接或CloudTable连接时,即从MRS HBase、FusionInsight HBase、Apache HBase或者CloudTable导出数据时,源端作业参数如表1所示。 CloudTable或HBase作为源端时,CDM会读取表的首行数据作为字段列表样例,如果首行数据未包含该表的所有字段,用户需要自己手工添加字段。 由于HBase的无Schema技术特点,CDM无法获知数据类型,如果数据内容是使用二进制格式存储的,CDM会无法解析。 从HBase/CloudTable导出数据时,由于HBase/CloudTable是无Schema的存储系统,CDM要求源端数值型字段是以字符串格式存储,而不能是二进制格式,例如数值100需存储格式是字符串“100”,不能是二进制“01100100”。 表1 HBase/CloudTable作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 表名 导出数据的HBase表名。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 TBL_2 列族 可选参数,导出数据所属的列族。 CF1&CF2 高级属性 切分Rowkey 可选参数,选择是否拆分Rowkey,默认为“否”。 是 Rowkey分隔符 可选参数,用于拆分Rowkey的分隔符,若不设置则不切分。 | 起始时间 可选参数,起始时间(包含该值),格式为“yyyy-MM-dd HH:mm:ss”,表示只抽取该时间及以后的数据。 该参数支持配置为时间宏变量,使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-01-01 20:00:00 终止时间 可选参数,终止时间(不包含该值),格式为“yyyy-MM-dd HH:mm:ss”,表示只抽取该时间以前的数据。 该参数支持配置为时间宏变量,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-02-01 20:00:00 父主题: 配置作业源端参数
  • 配置DWS源端参数 作业中源连接为DWS连接时,源端作业参数如表1所示。 表1 DWS作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用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 select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 分区字段含有空值 是否允许分区字段包含空值。 是 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 是 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - 父主题: 配置作业源端参数
  • 配置CloudTable连接 连接CloudTable时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 CloudTable连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 cloudtable_link ZK链接地址 可通过CloudTable服务的集群管理界面获取该参数值。 cloudtable-cdm-zk1.cloudtable.com:2181,cloudtable-cdm-zk2.cloudtable.com:2181 IAM统一身份认证 如果所需连接的CloudTable集群在创建时开启了“IAM统一身份认证”,该参数需设置为“是”,否则设置为“否”。 当选择IAM统一身份认证时,需要输入用户名、AK和SK。 否 用户名 登录CloudTable集群的用户名。 admin AK 登录CloudTable集群的访问标识。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - SK 登录CloudTable集群的密钥。 您需要先创建当前账号的访问密钥,并获得对应的AK和SK。 - 是否使用集群配置 您可以通过使用集群配置,简化Hadoop连接参数配置。 否 集群配置名 仅当“是否使用集群配置”为“是”时,此参数有效。此参数用于选择用户已经创建好的集群配置。 集群配置的创建方法请参见管理集群配置。 hadoop_01 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。 父主题: 管理连接
  • 配置Redis连接 Redis连接适用于用户在本地数据中心或ECS上自建的Redis,适用于将数据库或文件中的数据加载到Redis。 Redis连接不支持SSL加密的Redis数据源。 连接本地Redis数据库时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 Redis连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 redis_link Redis部署方式 Redis部署方式: Single:表示单机部署。 Cluster:表示集群部署。 Proxy:表示通过代理部署。 Single Redis服务器列表 Redis服务器地址列表,输入格式为“数据库服务器域名或IP地址:端口”。多个服务器列表间以“;”分隔。 192.168.0.1:7300;192.168.0.2:7301 密码 连接Redis的密码。 - Redis数据库索引 Redis分库的索引标识。 Redis的分库,相当于关系型数据库中的database。分库总数可以在Redis配置文件中设置,默认是16个,分库名称是一个整数(0~15),不是一个字符串。 0 认证类型 访问MRS的认证类型: SIMPLE:非安全模式选择Simple鉴权。 KERBEROS:安全模式选择Kerberos鉴权。 SIMPLE 用户名 选择KERBEROS鉴权时,需要配置MRS Manager的用户名和密码。从HDFS导出目录时,如果需要创建快照,这里配置的用户需要HDFS系统的管理员权限。 如果要创建MRS安全集群的数据连接,不能使用admin用户。因为admin用户是默认的管理页面用户,这个用户无法作为安全集群的认证用户来使用。您可以创建一个新的MRS用户,然后在创建MRS数据连接时,“用户名”和“密码”填写为新建的MRS用户及其密码。 说明: 如果CDM集群为2.9.0版本及之后版本,且MRS集群为3.1.0及之后版本,则所创建的用户至少需具备Manager_viewer的角色权限才能在CDM创建连接;如果需要对MRS组件的库、表、列进行操作,还需要参考MRS文档添加对应组件的库、表、列操作权限。 如果CDM集群为2.9.0之前的版本,或MRS集群为3.1.0之前的版本,则所创建的用户需要具备Manager_administrator或System_administrator权限,才能在CDM创建连接。 仅具备Manager_tenant或Manager_auditor权限,无法创建连接。 cdm 集群配置名称 仅当认证类型为KERBEROS时,此参数有效。此参数用于选择用户已经创建好的集群配置。 集群配置的创建方法请参见管理集群配置。 hdfs_01 父主题: 管理连接
  • 配置神通(ST)源端参数 从神通(ST)导出数据时,源端作业参数如表1所示。 表1 神通(ST)作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用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*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段含有空值 是否允许分区字段包含空值。 是 父主题: 配置作业源端参数
  • 配置Cassandra连接 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 Cassandra连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 mongodb_link 服务节点 一个或者多个节点的地址,以“;”分隔。建议同时配置多个节点。 192.168.0.1;192.168.0.2 端口 连接的Cassandra节点的端口号。 9042 用户名 连接Cassandra的用户名。 cdm 密码 连接Cassandra的密码。 - 连接超时时长 可选参数,单击“显示高级属性”后显示。 连接超时时长,单位秒。 5 读取超时时长 可选参数,单击“显示高级属性”后显示。 读取超时时长,单位秒。小于或等于0表示不超时。 12 父主题: 管理连接
  • Apache Kafka Apache Kafka连接适用于用户在本地数据中心或ECS上自建的第三方Kafka,其中本地数据中心的Kafka需通过专线连接。 连接Apache Hadoop上的Kafka数据源时,相关参数如表2所示。 表2 Apache Kafka连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 kafka_link Kafka broker Kafka broker的IP地址和端口。 192.168.1.1:9092 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。
  • MRS Kafka 连接MRS上的Kafka数据源时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 MRS Kafka连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 kafka_link Manager IP MRS Manager的浮动IP地址,可以单击输入框后的“选择”来选定已创建的MRS集群,CDM会自动填充下面的鉴权参数。 127.0.0.1 用户名 需要配置MRS Manager的用户名和密码。 如果要创建MRS安全集群的数据连接,不能使用admin用户。因为admin用户是默认的管理页面用户,这个用户无法作为安全集群的认证用户来使用。您可以创建一个新的MRS用户,然后在创建MRS数据连接时,“用户名”和“密码”填写为新建的MRS用户及其密码。 说明: 如果CDM集群为2.9.0版本及之后版本,且MRS集群为3.1.0及之后版本,则所创建的用户至少需具备Manager_viewer的角色权限才能在CDM创建连接;如果需要对MRS组件的库、表、列进行操作,还需要参考MRS文档添加对应组件的库、表、列操作权限。 如果CDM集群为2.9.0之前的版本,或MRS集群为3.1.0之前的版本,则所创建的用户需要具备Manager_administrator或System_administrator权限,才能在CDM创建连接。 仅具备Manager_tenant或Manager_auditor权限,无法创建连接。 - 密码 访问MRS Manager的用户密码。 - 认证类型 访问MRS的认证类型: SIMPLE:非安全模式选择Simple鉴权。 KERBEROS:安全模式选择Kerberos鉴权。 是 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。
  • 配置Hive目的端参数 作业中目的连接为Hive连接时,目的端作业参数如表1所示。 表1 Hive作为目的端时的作业参数 参数名 说明 取值样例 数据库名称 输入或选择写入数据的数据库名称。单击输入框后面的按钮可进入数据库选择界面。 default 表名 输入或选择写入数据的目标表名。单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 TBL_X 自动创表 只有当源端为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作: 不自动创建:不自动建表。 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 先删除后创建:CDM先删除“表名”参数中指定的表,然后再重新创建该表。 说明: 自动建表只同步列注释,表注释不会被同步。 自动建表不支持同步主键。 不自动创建 导入前清空数据 选择目的端表中数据的处理方式: 是:任务启动前会清除目标表中数据。 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。 是 待清空分区 “导入前清空数据”设置为“是”时,呈现此参数。 填写待清空分区信息后,表示清空该分区的数据。 单分区:year=2020,location=sun; 多分区:['year=2020,location=sun', 'year=2021,location=earth']. 执行Analyze语句 数据全部写入完成后会异步执行ANALYZE TABLE语句,用于优化Hive表查询速度,执行的SQL如下: 非分区表:ANALYZE TABLE tablename COMPUTE STATISTICS 分区表:ANALYZE TABLE tablename PARTITION(partcol1[=val1], partcol2[=val2], ...) COMPUTE STATISTICS 说明: “执行Analyze语句”参数配置仅用于单表迁移场景。 是 Hive作为目的端时,会自动创建存储格式为ORC的表。 由于文件格式限制,当前仅支持ORC与Parquet格式写入复杂类型。 源端Hive包含array和map类型时,目的端表格式只支持ORC和parquet复杂类型。若目的端表格式为RC和TEXT时,会对源数据进行处理,支持成功写入。 因map类型为无序的数据结构,迁移到目的端的数据类型可能跟源端顺序不一致。 Hive作为迁移的目的时,如果存储格式为Textfile,在Hive创建表的语句中需要显式指定分隔符。例如: CREATE TABLE csv_tbl( smallint_value smallint, tinyint_value tinyint, int_value int, bigint_value bigint, float_value float, double_value double, decimal_value decimal(9, 7), timestmamp_value timestamp, date_value date, varchar_value varchar(100), string_value string, char_value char(20), boolean_value boolean, binary_value binary, varchar_null varchar(100), string_null string, char_null char(20), int_null int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" = "\t", "quoteChar" = "'", "escapeChar" = "\\" ) STORED AS TEXTFILE; 父主题: 配置作业目的端参数
  • FusionInsight HBase 连接FusionInsight HD上的HBase数据源时,相关参数如表2所示。 表2 FusionInsight HBase连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 FI_hbase_link Manager IP FusionInsight Manager平台的地址。 127.0.0.1 Manager端口 FusionInsight Manager平台的端口。 28443 CAS Server端口 与FusionInsight对接的CAS Server的端口。 20009 用户名 登录FusionInsight Manager平台的用户名。 cdm 密码 FusionInsight Manager平台的密码。 - 认证类型 访问集群的认证类型: SIMPLE:非安全模式选择Simple鉴权。 KERBEROS:安全模式选择Kerberos鉴权。 KERBEROS HBase版本 HBase版本。 HBASE_2_X 运行模式 “HBASE_2_X”版本支持该参数。选择HBase连接的运行模式: EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 说明: STANDALONE模式主要是用来解决版本冲突问题的运行模式。当同一种数据连接的源端或者目的端连接器的版本不一致时,存在jar包冲突的情况,这时需要将源端或目的端放在STANDALONE进程里,防止冲突导致迁移失败。 STANDALONE 是否使用集群配置 您可以通过使用集群配置,简化Hadoop连接参数配置。 否 集群配置名 仅当“是否使用集群配置”为“是”时,此参数有效。此参数用于选择用户已经创建好的集群配置。 集群配置的创建方法请参见管理集群配置。 hbase_01 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。
  • MRS HBase 连接MRS上的HBase数据源时,相关参数如表1所示。 新建MRS连接前,需在MRS中添加一个kerberos认证用户并登录MRS管理页面更新其初始密码,然后使用该新建用户创建MRS连接。 如需连接MRS 2.x版本的集群,请先创建2.x版本的CDM集群。CDM 1.8.x版本的集群无法连接MRS 2.x版本的集群。 如果选择集群后连接失败,请检查MRS集群与作为Agent的CDM实例是否网络互通。网络互通需满足如下条件: DataArts Studio实例(指DataArts Studio实例中的CDM集群)与MRS集群处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP,MRS集群可以访问公网且防火墙规则已开放连接端口。 DataArts Studio实例(指DataArts Studio实例中的CDM集群)与MRS集群同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 此外,还需确保该MRS集群与DataArts Studio工作空间所属的企业项目相同,如果不同,您需要修改工作空间的企业项目。 表1 MRS上的HBase连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 mrs_hbase_link Manager IP MRS Manager的浮动IP地址,可以单击输入框后的“选择”来选定已创建的MRS集群,CDM会自动填充下面的鉴权参数。 127.0.0.1 用户名 选择KERBEROS鉴权时,需要配置MRS Manager的用户名和密码。从HDFS导出目录时,如果需要创建快照,这里配置的用户需要HDFS系统的管理员权限。 如果要创建MRS安全集群的数据连接,不能使用admin用户。因为admin用户是默认的管理页面用户,这个用户无法作为安全集群的认证用户来使用。您可以创建一个新的MRS用户,然后在创建MRS数据连接时,“用户名”和“密码”填写为新建的MRS用户及其密码。 说明: 如果CDM集群为2.9.0版本及之后版本,且MRS集群为3.1.0及之后版本,则所创建的用户至少需具备Manager_viewer的角色权限才能在CDM创建连接;如果需要对MRS组件的库、表、列进行操作,还需要参考MRS文档添加对应组件的库、表、列操作权限。 如果CDM集群为2.9.0之前的版本,或MRS集群为3.1.0之前的版本,则所创建的用户需要具备Manager_administrator或System_administrator权限,才能在CDM创建连接。 仅具备Manager_tenant或Manager_auditor权限,无法创建连接。 cdm 密码 访问MRS Manager的用户密码。 - 认证类型 访问集群的认证类型: SIMPLE:非安全模式选择Simple鉴权。 KERBEROS:安全模式选择Kerberos鉴权。 SIMPLE HBase版本 HBase版本。 HBASE_2_X 运行模式 “HBASE_2_X”版本支持该参数。选择HBase连接的运行模式: EMBEDDED:连接实例与CDM运行在一起,该模式性能较好。 STANDALONE:连接实例运行在独立进程。如果CDM需要对接多个Hadoop数据源(MRS、Hadoop或CloudTable),并且既有KERBEROS认证模式又有SIMPLE认证模式,只能使用STANDALONE模式。 说明:STANDALONE模式主要是用来解决版本冲突问题的运行模式。当同一种数据连接的源端或者目的端连接器的版本不一致时,存在jar包冲突的情况,这时需要将源端或目的端放在STANDALONE进程里,防止冲突导致迁移失败。 STANDALONE 是否使用集群配置 用户可以在“连接管理”处创建集群配置,用于简化Hadoop连接参数配置。 否 集群配置名 仅当“是否使用集群配置”为“是”时,此参数有效。此参数用于选择用户已经创建好的集群配置。 集群配置的创建方法请参见管理集群配置。 hbase_01 单击“显示高级属性”,然后单击“添加”,您可以添加客户端的配置属性。所添加的每个属性需配置属性名称和值。对于不再需要的属性,可单击属性后的“删除”按钮进行删除。
  • 配置FTP/SFTP源端参数 作业中源连接为FTP/SFTP连接时,源端作业参数如表1所示。 高级属性里的参数为可选参数,默认隐藏,单击界面上的“显示高级属性”后显示。 表1 FTP/SFTP作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 源目录或文件 待迁移数据的目录或单个文件路径。文件路径支持输入多个文件(最多50个),默认以“|”分隔,也可以自定义文件分隔符,具体请参见文件列表迁移。 待迁移数据的目录,将迁移目录下的所有文件(包括所有嵌套子目录及其子文件)。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 /ftp/a.csv|/ftp/b.txt 文件格式 指CDM以哪种格式解析数据,可选择以下格式: CSV格式:以CSV格式解析源文件,用于迁移文件到数据表的场景。 二进制格式:选择“二进制格式”时不解析文件内容直接传输,不要求文件格式必须为二进制。适用于文件到文件的原样复制。 JSON格式:以JSON格式解析源文件,一般都是用于迁移文件到数据表的场景。 说明: 当目的端为OBS数据源时,仅支持配置二进制格式。 CSV格式 JSON类型 当“文件格式”选择为“JSON格式”时,才有该参数。JSON文件中存储的JSON对象的类型,可以选择“JSON对象”或“JSON数组”。 JSON对象 记录节点 当“文件格式”选择为“JSON格式”并且“JSON类型”为“JSON对象”时,才有该参数。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割。 data.list 高级属性 使用rfc4180解析器 当“文件格式”选择为“CSV格式”时,才有该参数。是否使用rfc4180解析器解析CSV文件。 否 换行符 文件中的换行符,默认自动识别“\n”、“\r”或“\r\n”。当“文件格式”选择为“CSV格式”时,才有该参数。 \n 字段分隔符 文件中的字段分隔符,使用Tab键作为分隔符请输入“\t”。当“文件格式”选择为“CSV格式”时,才有该参数。 , 使用包围符 选择“是”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。 否 使用转义符 选择“是”时,CSV数据行中的\作为转义符使用。 选择“否”时,CSV中的\作为数据不会进行转义。CSV只支持\作为转义符。 是 使用正则表达式分隔字段 选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 是 正则表达式 当“使用正则表达式分隔字段”选择为“是”时,才有该参数。 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。 ^(\d.*\d) (\w*) \[(.*)\] ([\w\.]*) (\w.*).* 首行为标题行 “文件格式”选择“CSV格式”时才有该参数。在迁移CSV文件到表时,CDM默认是全部写入,如果该参数选择“是”,CDM会将CSV文件的前N行数据作为标题行,不写入目的端的表。 是 编码类型 文件编码类型,例如:“UTF-8”或“GBK”。只有文本文件可以设置编码类型,当“文件格式”选择为“二进制格式”时,该参数值无效。 UTF-8 压缩格式 选择对应压缩格式的源文件: 无:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 ZIP:表示只传输ZIP格式的文件。 TAR.GZ:表示只传输TAR.GZ格式的文件。 无 压缩文件后缀 压缩格式非无时,显示该参数。 该参数需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则保持原样传输。当输入*或为空时,所有文件都会被解压。 * 启动作业标识文件 选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“等待时间”中配置。 是 文件分隔符 “源目录或文件”参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为|。 | 标识文件名 选择开启作业标识文件的功能时,需要指定启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务。该文件本身不会被迁移。 ok.txt 等待时间 选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。 等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。 单位:秒。 10 过滤类型 满足过滤条件的路径或文件会被传输,该参数有“无”、“通配符”和“正则表达式”三种选择。具体使用方法可参见文件增量迁移。 无 目录过滤器 “过滤类型”选择“通配符”和“正则表达式”时,符合过滤器规则的目录,允许进行迁移。支持配置多个路径,中间使用“,”分隔。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 *input,*out 文件过滤器 “过滤类型”选择“通配符”和“正则表达式”时,符合过滤器规则的文件,允许进行迁移。支持配置多个文件,中间使用“,”分隔。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 *.csv 时间过滤 选择“是”时,可以根据文件的修改时间,选择性的传输文件。 是 起始时间 “时间过滤”选择“是”时,可以指定一个时间值,当文件的修改时间大于等于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-07-01 00:00:00 终止时间 “时间过滤”选择“是”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-07-30 00:00:00 忽略不存在原路径/文件 如果将其设为“是”,那么作业在源路径不存在的情况下也能成功执行。 否 标识文件类型 选择开启作业标识文件的功能时,该参数才显示。 MARK_DONE:只有在源端路径下存在标识文件的情况下才会执行迁移任务。 MARK_DOING:只有在源端路径下不存在标识文件的情况下才会执行迁移任务。 MARK_DOING 是否跳过空行 “文件格式”选择“CSV格式”时,该参数才显示。 如果某行数据为空,则跳过此行。 否 null值 “文件格式”选择“二进制格式”时,该参数才显示。 由于文本文件中无法用字符串定义null值,此配置项定义将何种字符串标识为null。 否 MD5文件名后缀 “文件格式”选择“二进制格式”时,该参数才显示。 校验CDM抽取的文件,是否与源文件一致,详细请参见MD5校验文件一致性。 .md5 父主题: 配置作业源端参数
  • 配置MRS Hudi目的端参数 作业中目的连接为MRS Hudi连接时,目的端作业参数如表1所示。 表1 MRS Hudi作为目的端时的作业参数 通用配置 配置项 配置说明 推荐配置 目的连接名称 选择已配置的MRS Hudi连接。 hudi_to_cdm 数据库名称 输入或选择写入数据的数据库名称。单击输入框后面的按钮可进入数据库选择界面。 dbadmin 表名 单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 cdm 自动创表 是否自动创建Hudi表。 不自动创建:不自动建表。 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 不自动创表 导入前清空数据 选择目的端表中数据的处理方式: 是:任务启动前会清除目标表中数据。 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。 否 全量模式写Hoodie 选择写Hoodie模式,默认选“是”表示全量模式,“否”表示微批模式。 全量模式为异步分片写入Hoodie,适用于一次全量写入场景。 微批模式为异步分批写入Hoodie,适用于对入库时间SLA要求较为严格的场景,以及对资源消耗较小,对MOR表存储类型在线进行压缩的场景。 说明: 运行-失败重试期间不允许修改此模式。 是 批次数据大小 “全量模式写Hoodie”设置为“否”时,使用微批模式呈现此参数。 用于设置单个批次写Hoodie的数据行数,默认100000行。 100000 使用入库时间字段 将一个字段标记为入库时间字段,自动建表时将此字段自动加到建表语句中,写入Hudi时将把此字段的值替换为当前时间,不自动建表时选择已经存在的入库时间字段。 是 入库时间字段名称 “使用入库时间字段”设置为“是”时,呈现此参数。 用于记录写入Hudi的时间。 说明: 对于已存在目的端表中带有入库时间字段的,可以直接使用已有的timestamp类型字段。 对于自动建表的场景,该字段会被拼接到建表语句中,类型为timestamp,该字段名称不能与源端的字段有重复(包括自定义字段)。 cdc_last_update_date Hudi建表配置 Location 存储在OBS或HDFS上数据库表的文件路径。 - Hudi表类型 Hudi表存储类型。 MOR表:数据先写入avro格式的日志文件,读取时合并到parquet文件。 COW表:数据直接写入parquet文件。 MOR Hudi表主键 对Hudi建表设置主键,多个值以逗号隔开。 - Hudi表生成器类 主键生成类型,实现org.apache.hudi.keygen.KeyGenerator从传入记录中提取键值。 - Hudi表预聚合键 对Hudi建表设置预聚合键,当两个记录拥有相同的主键时,保留precombine字段值较大的记录。 说明: 如果没有时间字段,可以设置和主键一样的字段,当遇到主键冲突时,保留最新的记录。 ts Hudi表分区字段 对Hudi建表设置分区字段,多个值以逗号隔开。 - Hudi表压缩策略(是否开启写入压缩) 在线进行压缩,仅对MOR表生效。 是 Hudi表清除策略(保留提交数) 清除时保留的提交数。 1 Hudi表归档策略(最小保留提交数) 归档时保留的最小提交数。 1 Hudi表归档策略(最大保留提交数) 归档时保留的最大提交数。 100 Hudi表配置 对Hudi建表设置自定义参数属性,此处填入的参数将会在options中生效。例如:主键、combineKey、索引。 - 父主题: 配置作业目的端参数
  • 配置HBase/CloudTable目的端参数 作业中目的连接为HBase连接或CloudTable连接时,即导入数据到以下数据源时,目的端作业参数如表1所示。 表1 HBase/CloudTable作为目的端时的作业参数 参数名 说明 取值样例 表名 写入数据的HBase表名。如果是创建新HBase表,支持从源端复制字段名。单击输入框后面的按钮可进入表的选择界面。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 TBL_2 导入前清空数据 选择目的端表中数据的处理方式: 是:任务启动前会清除目标表中数据。 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。 是 自动创表 只有当源端为关系数据库时,才有该参数。表示写入表数据时,用户选择的操作: 不自动创建:不自动建表。 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。 说明: Hbase自动建表包含列族与协处理器Coprocessor信息。其他属性按默认值设置,不跟随源端。 不自动创建 Row key拼接分隔符 可选参数,用于多列合并作为rowkey,默认为空格。 , Rowkey冗余 可选参数,是否将选做Rowkey的数据同时写入HBase的列,默认值“否”。 否 压缩算法 可选参数,创建新HBase表时采用的压缩算法,默认为值“NONE”。 NONE:不压缩。 SNAPPY:压缩为Snappy格式。 GZ:压缩为GZ格式。 NONE WAL开关 选择是否开启HBase的预写日志机制(WAL,Write Ahead Log)。 是:开启后如果出现HBase服务器宕机,则可以从WAL中回放执行之前没有完成的操作。 否:关闭时能提升写入性能,但如果HBase服务器宕机可能会造成数据丢失。 否 匹配数据类型 是:源端数据库中的Short、Int、Long、Float、Double、Decimal类型列的数据,会转换为Byte[]数组(二进制)写入HBase,其他类型的按字符串写入。如果这几种类型中,有合并做rowkey的,则依然当字符串写入。 该功能作用是:降低存储占用空间,存储更高效;特定场景下rowkey分布更均匀。 否:源端数据库中所有类型的数据,都会按照字符串写入HBase。 否 父主题: 配置作业目的端参数
  • 配置分库源端参数 作业中源连接为分库连接,源端作业参数如表1所示。 表1 分库作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 模式或表空间 表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,分库连接时此处默认展示对应第一个后端连接的表空间。用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。例如:表名配置为user_[0-9]{1,2},会匹配 user_0 到 user_9,user_00 到 user_99 的表。 SCHEMA_E 表名 表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 该参数支持配置正则表达式,实现导出满足规则的所有数据库。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 table 高级属性 Where子句 表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 选择源连接名称为分库连接对应的后端连接时,此作业即为普通的MySQL作业。 新建源端为分库连接的作业时,在字段映射阶段,可以在源字段新增样值为“${custom(host)}”样式的自定义字段,用于在多个数据库中的多张表迁移到同一张表后,查看表的数据来源。支持的样值包括: ${custom(host)} ${custom(database)} ${custom(fromLinkName)} ${custom(schemaName)} ${custom(tableName)} 父主题: 配置作业源端参数
  • 配置OBS源端参数 作业中源连接为OBS连接时,源端作业参数如表1所示。 高级属性里的参数为可选参数,默认隐藏,单击界面上的“显示高级属性”后显示。 表1 源端为OBS时的作业参数 参数类型 参数名 说明 取值样例 基本参数 桶名 待迁移数据所在的桶名。 BUCKET_2 源目录或文件 “列表文件”选择为“否”时,才有该参数。 待迁移数据的目录或单个文件路径。文件路径支持输入多个文件(最多50个),默认以“|”分隔,也可以自定义文件分隔符,具体请参见文件列表迁移。 待迁移数据的目录,将迁移目录下的所有文件(包括所有嵌套子目录及其子文件)。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 FROM/example.csv 文件格式 指CDM以哪种格式解析数据,可选择以下格式: CSV格式:以CSV格式解析源文件,用于迁移文件到数据表的场景。 二进制格式:选择“二进制格式”时不解析文件内容直接传输,不要求文件格式必须为二进制。适用于文件到文件的原样复制。 JSON格式:以JSON格式解析源文件,一般都是用于迁移文件到数据表的场景。 CSV格式 列表文件 当“文件格式”选择为“二进制格式”时,才有该参数。 打开列表文件功能时,支持读取OBS桶中文件(如txt文件)的内容作为待迁移文件的列表。该文件中的内容应为待迁移文件的绝对路径(不支持目录),例如直接写为如下内容: /052101/DAY20211110.data /052101/DAY20211111.data 是 列表文件源连接 当“列表文件”选择为“是”时,才有该参数。可选择列表文件所在的OBS连接。 OBS_test_link 列表文件OBS桶 当“列表文件”选择为“是”时,才有该参数。该参数表示列表文件所在的OBS桶名。 01 列表文件或目录 当“列表文件”选择为“是”时,才有该参数。该参数表示列表文件所在的OBS桶中的绝对路径或目录。 此处建议选择为文件的绝对路径。当选择为目录时,也支持迁移子目录中的文件,但如果目录下文件量过大,可能会导致集群内存不足。 /0521/Lists.txt JSON类型 当“文件格式”选择为“JSON格式”时,才有该参数。JSON文件中存储的JSON对象的类型,可以选择“JSON对象”或“JSON数组”。 JSON对象 记录节点 当“文件格式”选择为“JSON格式”并且“JSON类型”为“JSON对象”时,才有该参数。对该JSON节点下的数据进行解析,如果该节点对应的数据为JSON数组,那么系统会以同一模式从该数组中提取数据。多层嵌套的JSON节点以字符“.”分割。 data.list 高级属性 换行符 文件中的换行符,默认自动识别“\n”、“\r”或“\r\n”。当“文件格式”选择为“CSV格式”时,才有该参数。 \n 字段分隔符 文件中的字段分隔符,使用Tab键作为分隔符请输入“\t”。当“文件格式”选择为“CSV格式”时,才有该参数。 , 使用包围符 选择“是”时,包围符内的字段分隔符会被视为字符串值的一部分,目前CDM默认的包围符为:"。 否 使用转义符 选择“是”时,CSV数据行中的\作为转义符使用。 选择“否”时,CSV中的\作为数据不会进行转义。CSV只支持\作为转义符。 是 使用正则表达式分隔字段 选择是否使用正则表达式分隔字段,当选择“是”时,“字段分隔符”参数无效。当“文件格式”选择为“CSV格式”时,才有该参数。 是 正则表达式 分隔字段的正则表达式,正则表达式写法请参考正则表达式分隔半结构化文本。 ^(\d.*\d) (\w*) \[(.*)\] ([\w\.]*) (\w.*).* 前N行为标题行 “文件格式”选择“CSV格式”时才有该参数。在迁移CSV文件到表时,CDM默认是全部写入,如果该参数选择“是”,CDM会将CSV文件的前N行数据作为标题行,不写入目的端的表。 否 标题行数 “前N行为标题行”选择“是”时才有该参数。抽取数据时将被跳过的标题行数。 说明: 标题行数不为空,取值为1-99之间的整数。 1 解析首行为列名 “前N行为标题行”选择“是”时才有该参数。选择是否将标题的首行解析为列名,在配置字段映射时会在原字段中显示该列名。 说明: 标题行数大于1时,当前仅支持解析标题的首行作为列名。 列名不支持“&”字符,否则会导致作业迁移失败,需修改CSV文件“&”字符即可正常迁移。 是 编码类型 文件编码类型,例如:“UTF-8”或“GBK”。只有文本文件可以设置编码类型,当“文件格式”选择为“二进制格式”时,该参数值无效。 GBK 压缩格式 选择对应压缩格式的源文件: 无:表示传输所有格式的文件。 GZIP:表示只传输GZIP格式的文件。 ZIP:表示只传输ZIP格式的文件。 TAR.GZ:表示只传输TAR.GZ格式的文件。 无 压缩文件后缀 压缩格式非无时,显示该参数。 该参数需要解压缩的文件后缀名。当一批文件中以该值为后缀时,才会执行解压缩操作,否则保持原样传输。当输入*或为空时,所有文件都会被解压。 * 启动作业标识文件 选择是否开启作业标识文件的功能。当源端路径下存在启动作业的标识文件时才启动作业,否则会挂起等待一段时间,等待时长在下方“等待时间”中配置。 否 标识文件名 选择开启作业标识文件的功能时,需要指定启动作业的标识文件名。指定文件后,只有在源端路径下存在该文件的情况下才会运行任务。该文件本身不会被迁移。 ok.txt 等待时间 选择开启作业标识文件的功能时,如果源路径下不存在启动作业的标识文件,作业挂机等待的时长,当超时后任务会失败。 等待时间设置为0时,当源端路径下不存在标识文件,任务会立即失败。 单位:秒。 10 文件分隔符 “源目录或文件”参数中如果输入的是多个文件路径,CDM使用这里配置的文件分隔符来区分各个文件,默认为|。 | 过滤类型 满足过滤条件的路径或文件会被传输,该参数有“无”、“通配符”和“正则表达式”三种选择。具体使用方法可参见文件增量迁移。 通配符 目录过滤器 “过滤类型”选择“通配符”、“正则表达式”时,用通配符过滤目录,符合过滤器规则的目录,允许进行迁移。支持配置多个路径,中间使用“,”分隔。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 *input 文件过滤器 “过滤类型”选择“通配符”、“正则表达式”时,用通配符过滤目录下的文件,符合过滤器规则的文件,允许进行迁移。支持配置多个文件,中间使用“,”分隔。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 *.csv,*.txt 时间过滤 选择“是”时,可以根据文件的修改时间,选择性的传输文件。 是 起始时间 “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间大于等于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}表示:只迁移最近90天内的文件。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-06-01 00:00:00 终止时间 “过滤类型”选择“时间过滤器”时,可以指定一个时间值,当文件的修改时间小于该时间才会被传输,输入的时间格式需为“yyyy-MM-dd HH:mm:ss”。 该参数支持配置为时间宏变量,例如${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}表示:只迁移修改时间为当前时间以前的文件。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 2019-07-01 00:00:00 忽略不存在原路径/文件 如果将其设为是,那么作业在源路径不存在的情况下也能成功执行。 否 MD5文件名后缀 “文件格式”选择“二进制格式”时,该参数才显示。 校验CDM抽取的文件,是否与源文件一致,详细请参见MD5校验文件一致性。 .md5 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。 例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。 父主题: 配置作业源端参数
  • 时间过滤 参数位置:在创建表/文件迁移作业时,如果源端数据源为文件类型,那么源端作业配置下的高级属性中,“时间过滤”参数选择“是”。 参数原理:“起始时间”和“终止时间”参数中输入时间值后,只有修改时间介于起始时间和终止时间之间(时间区间为左闭右开,即等于起始时间也在区间之内)的文件才会被CDM迁移。 配置样例: 例如需要CDM只同步2021年1月1日~2022年1月1日生成的文件到目的端,则参数配置如下: 时间过滤器:选择为“是”。 起始时间:配置为2021-01-01 00:00:00(格式要求为yyyy-MM-dd HH:mm:ss)。 终止时间:配置为2022-01-01 00:00:00(格式要求为yyyy-MM-dd HH:mm:ss)。 图2 时间过滤 这样CDM作业就只迁移2021年1月1日~2022年1月1日时间段内生成的文件,下次作业再启动时就可以实现增量同步。
  • 文件/路径过滤器 参数位置:在创建表/文件迁移作业时,如果源端数据源为文件类型,那么源端作业参数的高级属性中可以看到“过滤类型”参数,该参数可选择:通配符或正则表达式。 参数原理:“过滤类型”选择“通配符”时,CDM就可以通过用户配置的通配符过滤文件或路径,CDM只迁移满足指定条件的文件或路径。 配置样例: 例如源端文件名带有时间字段“2017-10-15 20:25:26”,这个时刻生成的文件为“/opt/data/file_20171015202526.data”,则在创建作业时,参数配置如下: 过滤类型:选择“通配符”。 文件过滤器:配置为“*${dateformat(yyyyMMdd,-1,DAY)}*”(这是CDM支持的日期宏变量格式,详见时间宏变量使用解析)。 图1 文件过滤 配置作业定时自动执行,“重复周期”为1天。 这样每天就可以把昨天生成的文件都导入到目的端目录,实现增量同步。 文件增量迁移场景下,“路径过滤器”的使用方法同“文件过滤器”一样,需要路径名称里带有时间字段,这样可以定期增量同步指定目录下的所有文件。
  • 配置SAP HANA源端参数 SAP HANA作为源端作业参数如表1所示。 表1 SAP HANA作源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用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 select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 抽取区分字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 父主题: 配置作业源端参数
  • 配置云搜索服务(CSS)连接 华为云的云搜索服务(CSS)是一个基于Elasticsearch且完全托管的在线分布式搜索服务,CSS连接适用于将各类日志文件、数据库记录迁移到CSS,Elasticsearch引擎进行搜索和分析的场景。 导入数据到CSS推荐使用Logstash,请参见使用Logstash导入数据到Elasticsearch。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 连接云搜索服务(CSS)时,相关参数如表1所示。 表1 云搜索服务(CSS)连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 css_link Elasticsearch服务器列表 配置为一个或多个Elasticsearch服务器的IP地址或域名,包括端口号,格式为“ip:port”,多个地址之间使用“;”分隔。 192.168.0.1:9200;192.168.0.2:9200 安全模式认证 是否开启安全模式认证。 如果所需连接的CSS集群在创建时开启了“安全模式”,该参数需设置为“是”,否则设置为“否”。 是 用户名 CSS集群开启安全认证模式时显示此参数。该参数表示连接云搜索服务的用户名。 admin 密码 CSS集群开启安全认证模式时显示此参数。该参数表示连接云搜索服务的密码。 - https访问 CSS集群开启安全认证模式时显示此参数。该参数表示开启https访问,https访问相较于http访问更安全。 是 父主题: 管理连接
  • 配置Elasticsearch/云搜索服务(CSS)目的端参数 作业中目的连接为配置Elasticsearch连接或配置云搜索服务(CSS)连接时,即将数据导入到Elasticsearch/云搜索服务(CSS)时,目的端作业参数如表1所示。 表/文件迁移和整库迁移时需配置的参数不同,下表参数为表/文件迁移时的全量参数,实际参数以界面显示为准。 表1 Elasticsearch/云搜索服务(CSS)作为目的端时的作业参数 参数名 说明 取值样例 索引 待写入数据的Elasticsearch的索引,类似关系数据库中的数据库名称。CDM支持自动创建索引和类型,索引和类型名称只能全部小写,不能有大写。 index 类型 待写入数据的Elasticsearch的类型,类似关系数据库中的表名称。类型名称只能全部小写,不能有大写。 说明: Elasticsearch搜索引擎7.x及以上版本不支持自定义类型,只能使用_doc类型。此处即使自定义也不会生效。 type 管道ID 该参数用于数据传到Elasticsearch后,通过Elasticsearch的数据转换pipeline进行数据格式变换。 目的端为Elasticsearch时需要先在kibana中创建管道ID。 目的端为CSS时不需要创建管道ID,此参数填写配置文件名称,默认为name。 目的端为Elasticsearch时:pipeline_id 目的端为CSS时:name(name为配置文件名称) 开启路由 开启路由后,支持指定某一列的值作为路由写入Elasticsearch。 说明: 开启路由前建议先建好目的端索引,可提高查询效率。 否 路由字段 “开启路由”参数选择为“是”时配置,用于配置目的端路由字段。目的端索引存在但是获取不到字段信息时,支持手动填写字段。路由字段允许为空,为空时写入Elasticsearch不指定routing值。 value1 定时创索引 对于持续写入数据到Elasticsearch的流式作业,CDM支持在Elasticsearch中定时创建新索引并写入数据,方便用户后期删除过期的数据。支持按以下周期创建新索引: 每小时:每小时整点创建新索引,新索引的命名格式为“索引名+年+月+日+小时”,例如“index2018121709”。 每天:每天零点零分创建新索引,新索引的命名格式为“索引名+年+月+日”,例如“index20181217”。 每周:每周周一的零点零分创建新索引,新索引的命名格式为“索引名+年+周”,例如“index201842”。 每月:每月一号零点零分创建新索引,新索引的命名格式为“索引名+年+月”,例如“index201812”。 不创建:选择此项表示不创建定时索引。 从文件类抽取数据时,必须配置单个抽取(“抽取并发数”参数配置为1),否则该参数无效。 每小时 父主题: 配置作业目的端参数
  • 配置DMS Kafka连接 连接DMS的Kafka队列时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 DMS Kafka连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 dms_link 服务类型 选择DMS Kafka版本,目前只有专享版。 专享版 Kafka Broker Kafka专享版实例的地址,格式为 host:port。 - Kafka SASL_SSL 选择是否打开客户端连接Kafka专享版实例时SSL认证的开关。当DMS Kafka实例的连接信息中启用的安全协议为“SASL_SSL”时需要开启。 开启Kafka SASL_SSL,则数据加密传输,安全性更高,但性能会下降。 说明: 启用SSL认证后,Kafka会将Kafka Broker连接地址视做域名不断进行解析,导致性能消耗。建议修改CDM集群对应的ECS主机(通过集群IP查找对应的ECS主机)中的“/etc/hosts”文件,为其添加Broker连接地址的自映射,以便客户端能够快速解析实例的Broker。例如Kafka Broker地址配置为10.154.48.120时,hosts文件中的自映射配置为: 10.154.48.120 10.154.48.120 是 用户名 开启Kafka SASL_SSL时显示该参数,表示连接DMS Kafka的用户名。 - 密码 开启Kafka SASL_SSL时显示该参数,表示连接DMS Kafka的密码。 - 属性配置 当DMS Kafka实例的连接信息中启用的安全协议后,需要添加数据加密方式属性:属性名称填写为security.protocol,值根据Kafka实例中的安全协议填写为SASL_SSL或SASL_PLAINTEXT。 当DMS Kafka实例的连接信息中配置SASL认证机制后,需要添加认证方式的属性:属性名称填写为sasl.mechanism,值根据Kafka实例中配置的SASL认证机制填写为PLAIN或SCRAM-SHA-512(同时支持时选择其中任意一种填写即可)。 - 父主题: 管理连接
  • 前提条件 已创建CDM集群。 已获取MRS集群的Manager IP、管理员账号和密码,且该账号拥有数据导入、导出的操作权限。 MRS集群和CDM集群之间网络互通,网络互通需满足如下条件: CDM集群与云上服务处于不同区域的情况下,需要通过公网或者专线打通网络。通过公网互通时,需确保CDM集群已绑定EIP,数据源所在的主机可以访问公网且防火墙规则已开放连接端口。 CDM集群与云上服务同区域情况下,同虚拟私有云、同子网、同安全组的不同实例默认网络互通;如果同虚拟私有云但是子网或安全组不同,还需配置路由规则及安全组规则,配置路由规则请参见如何配置路由规则章节,配置安全组规则请参见如何配置安全组规则章节。 此外,您还必须确保该云服务的实例与CDM集群所属的企业项目必须相同,如果不同,需要修改工作空间的企业项目。
  • 配置PostgreSQL/SQL Server源端参数 作业中源连接为从云数据库 PostgreSQL、云数据库 SQL Server、PostgreSQL、Microsoft SQL Server导出的数据时,源端作业参数如表1所示。 表1 PostgreSQL/SQL Server作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用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 select id,name from sqoop.user; 模式或表空间 “使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。 如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。 说明: 该参数支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有数据库。例如: SCHEMA*表示导出所有以“SCHEMA”开头的数据库。 *SCHEMA表示导出所有以“SCHEMA”结尾的数据库。 *SCHEMA*表示数据库名称中只要有“SCHEMA”字符串,就全部导出。 SCHEMA_E 表名 “使用SQL语句”选择“否”时,显示该参数,表示要抽取的表名。单击输入框后面的按钮可进入表的选择界面,用户也可以直接输入表名称。 如果选择界面没有待选择的表,请确认表是否已经创建,或者对应连接里的账号是否有元数据查询的权限。 该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 说明: 表名支持配置通配符(*),实现导出以某一前缀开头或者以某一后缀结尾的所有表(要求表中的字段个数和类型都一样)。例如: table*表示导出所有以“table”开头的表。 *table表示导出所有以“table”结尾的表。 *table*表示表名中只要有“table”字符串,就全部导出。 table 高级属性 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' 分区字段是否允许空值 是否允许分区字段包含空值。 是 按表分区抽取 支持从分区表的各个分区并行抽取数据。启用该功能时,可以通过下面的“表分区”参数指定具体的表分区。 该功能不支持非分区表。 仅支持源端数据源为PostgreSQL时配置该参数。 数据库用户需要具有系统视图dba_tab_partitions和dba_tab_subpartitions的SELECT权限。 否 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 是 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - 父主题: 配置作业源端参数
  • 配置MongoDB连接 MongoDB连接适用于第三方云MongoDB服务,以及用户在本地数据中心或ECS上自建的MongoDB,常用于从MongoDB同步数据到大数据平台。 连接本地MongoDB数据库时,相关参数如表1所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 MongoDB连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 mongodb_link 服务器列表 MongoDB服务器地址列表,输入格式为“数据库服务器域名或IP地址:端口”。多个服务器列表间以“;”分隔。 192.168.0.1:7300;192.168.0.2:7301 数据库名称 要连接的MongoDB数据库名称。 DB_mongodb 用户名 连接MongoDB的用户名。 cdm 密码 连接MongoDB的密码。 - 直连模式 适用于主节点网络通,副本节点网络不通场景。 说明: 直连模式服务器列表只能配一个ip。 直连适用于主节点网络通,副本节点网络不通场景。 否 连接属性 自定义连接属性,支持MongoDB属性,单位为ms。连接属性如下: socketTimeout,默认socketTimeout=60000 maxWaitTime,默认maxWaitTime=10000 connectTimeout,默认connectTimeout=10000 serverSelectionTimeout,默认serverSelectionTimeout=5000 socketTimeout=60000 父主题: 管理连接
  • 时间变量宏定义具体展示 假设当前时间为“2017-10-16 09:00:00”,时间变量宏定义具体如表1所示。 表1 时间变量宏定义具体展示 宏变量 含义 实际显示效果 ${dateformat(yyyy-MM-dd)} 以yyyy-MM-dd格式返回当前时间。 2017-10-16 ${dateformat(yyyy/MM/dd)} 以yyyy/MM/dd格式返回当前时间。 2017/10/16 ${dateformat(yyyy_MM_dd HH:mm:ss)} 以yyyy_MM_dd HH:mm:ss格式返回当前时间。 2017_10_16 09:00:00 ${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)} 以yyyy-MM-dd HH:mm:ss格式返回时间,时间为当前时间的前一天。 2017-10-15 09:00:00 ${timestamp()} 返回当前时间的时间戳,即1970年1月1日(00:00:00 GMT)到当前时间的毫秒数。 1508115600000 ${timestamp(-10, MINUTE)} 返回当前时间点10分钟前的时间戳。 1508115000000 ${timestamp(dateformat(yyyyMMdd))} 返回今天0点的时间戳。 1508083200000 ${timestamp(dateformat(yyyyMMdd,-1,DAY))} 返回昨天0点的时间戳。 1507996800000 ${timestamp(dateformat(yyyyMMddHH))} 返回当前整小时的时间戳。 1508115600000
  • 时间宏变量和定时任务配合完成增量同步 这里列举两个简单的使用场景: 数据库表中存在表示时间的列DS,类型为“varchar(30)”,插入的时间格式类似于“2017-xx-xx”。 定时任务中,重复周期为1天,每天的凌晨0点执行定时任务。配置“Where子句”为DS='${dateformat(yyyy-MM-dd,-1,DAY)}',这样就可以在每天的凌晨0点导出前一天产生的所有数据。 数据库表中存在表示时间的列time,类型为“Number”,插入的时间格式为时间戳。 定时任务中,重复周期为1天,每天的凌晨0点执行定时任务。配置“Where子句”为time between ${timestamp(-1,DAY)} and ${timestamp()},这样就可以在每天的凌晨0点导出前一天产生的所有数据。 其它的配置方式原理相同。
  • dateformat dateformat支持两种形式的参数: dateformat(format) format表示返回日期的格式,格式定义参考“java.text.SimpleDateFormat.java”中的定义。 例如当前日期为“2017-10-16 09:00:00”,则“yyyy-MM-dd HH:mm:ss”表示“2017-10-16 09:00:00”。 dateformat(format, dateOffset, dateType) format表示返回日期的格式。 dateOffset表示日期的偏移量。 dateType表示日期的偏移量的类型。 目前dateType支持以下几种类型:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天),MONTH(月),YEAR(年)。 其中MONTH(月),YEAR(年)的偏移量类型存在特殊场景: 对于年、月来说,若进行偏移后实际没有该日期,则按照日历取该月最大的日期。 不支持在源端和目的端的“时间过滤”参数中的起始时间、终止时间使用年、月的偏移。 例如当前日期为“2023-03-01 09:00:00”,则: “dateformat(yyyy-MM-dd HH:mm:ss, -1, YEAR)”表示当前时间的前一年,也就是“2022-03-01 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -3, MONTH)”表示当前时间的前三月,也就是“2022-12-01 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)”表示当前时间的前一天,也就是“2023-02-28 09:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, HOUR)”表示当前时间的前一小时,也就是“2023-03-01 08:00:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, MINUTE)”表示当前时间的前一分钟,也就是“2023-03-01 08:59:00”。 “dateformat(yyyy-MM-dd HH:mm:ss, -1, SECOND)”表示当前时间的前一秒,也就是“2023-03-01 08:59:59”。
  • 路径和表名的时间宏变量 如图1所示,如果将: 源端的“表名”配置为“CDM_/${dateformat(yyyy-MM-dd)}”。 目的端的“写入目录”配置为“/opt/ttxx/${timestamp()}”。 经过宏定义转换,这个作业表示:将Oracle数据库的“SQOOP.CDM_20171016”表中数据,迁移到HDFS的“/opt/ttxx/1508115701746”目录中。 图1 源表名和写入目录配置为时间宏变量 目前也支持一个表名或路径名中有多个宏定义变量,例如“/opt/ttxx/${dateformat(yyyy-MM-dd)}/${timestamp()}”,经过转换后为“/opt/ttxx/2017-10-16/1508115701746”。
  • Where子句中的时间宏变量 以SQOOP.CDM_20171016表为例,该表中存在表示时间的列DS,如图2所示。 图2 表数据 假设当前时间为“2017-10-16”,要导出前一天的数据(即DS=‘2017-10-15’),则可以在创建作业时配置“Where子句”为DS='${dateformat(yyyy-MM-dd,-1,DAY)}',即可将符合DS=‘2017-10-15’条件的数据导出。
共100000条