华为云用户手册

  • 操作步骤 本小节以RDS for MySQL到 MRS Hudi的实时同步为示例,介绍如何配置Migration实时集成作业。配置作业前请务必阅读使用前自检概览, 确认已做好所有准备工作。 参见新建实时集成作业创建一个实时集成作业并进入作业配置界面。 选择数据连接类型:源端选MySQL,目的端选Hudi。 图2 选择数据连接类型 选择集成作业类型:同步类型默认为实时,同步场景包含整库和分库分表场景。 图3 选择集成作业类型 同步场景相关介绍请参见同步场景。 配置网络资源:选择已创建的MySQL、MRS Hudi数据连接和已配置好网络连接的migration资源组。 图4 选择数据连接及migration资源组 无可选数据连接时,可单击“新建”跳转至管理中心数据连接界面,单击“创建数据连接”创建数据连接,详情请参见配置 DataArts Studio 数据连接参数进行配置。 无可选migration资源组时,可单击“新建”跳转至购买migration资源组页面创建migration资源组配置,详情请参见购买创建数据集成资源组增量包进行配置。 检测网络连通性:数据连接和migration资源组配置完成后需要测试整个迁移任务的网络连通性,可通过以下方式进行数据源和migration资源组之间的连通性测试。 单击展开“源端配置”触发连通性测试,会对整个迁移任务的连通性做校验。 单击源端和目的端数据源和migration资源组中的“测试”按钮进行检测。 网络连通性检测异常可先参考数据源和资源组网络不通如何排查?章节进行排查。 配置源端参数。 各同步场景下选择需要同步库表的方式请参考表5。 表5 选择需要同步的库表 同步场景 配置方式 整库 选择需要迁移的MySQL库表。 图5 选择库表 库与表均支持自定义选择,即可选择一库一表,也可选择多库多表。 分库分表 添加逻辑表。 逻辑表名:即最终写入到Hudi的表名。 源库过滤条件:支持填入正则表达式,在所有MySQ L实例 中通过该正则表达式过滤出要写入目标端Hudi汇聚表的所有分库。 源表过滤条件:支持填入正则表达式,在过滤出的源端分库中再次过滤出要写入目标端Hudi汇聚表的所有分表。 图6 添加逻辑表 已添加的逻辑表支持预览表结构及来源库表,单击“操作”列的预览即可。预览逻辑表时,源表数量越多,等待时间可能越长,请耐心等待。 图7 逻辑表预览 配置目的端参数。 源库表和目标匹配策略。 各同步场景下源端库表和目标端库表的匹配策略请参考表6。 表6 源库表和目标匹配策略 同步场景 配置方式 整库 库匹配策略。 与来源库同名:数据将同步至与来源MySQL库名相同的Hudi库中。 自定义:数据将同步至自行指定的Hudi库中。 表匹配策略。 与来源表同名:数据将同步至与来源MySQL表名相同的Hudi表中。 自定义:数据将同步至自行指定的Hudi表中。 图8 整库场景下源库表和目标匹配策略 说明: 自定义匹配策略时,支持用内置变量#{source_db_name}和#{source_table_name}标志来源的库名和表名,其中表匹配策略必须包含#{source_table_name}。 分库分表 目标端库名:数据将同步至指定的Hudi库中。 表匹配策略:默认与源端配置中填写的逻辑表同名。 图9 分库分表场景下源库表和目标匹配策略 Hudi参数配置。 其余Hudi目的端参数说明请参考表7。 图10 Hudi目的端配置项 表7 Hudi目的端配置项 配置项 默认值 单位 配置说明 数据存储路径 - - Hudi自动建表时的warehouse路径,每张表会在warehouse路径下创建子目录。支持填写HDFS和OBS路径,路径格式参考: OBS路径:obs://bucket/warehouse。 HDFS路径:/tmp/warehouse。 Hudi表属性全局配置 - - 支持通过参数配置部分高级功能,参数详情可参考Hudi高级配置一览表。 Compaction作业 - - 需要一个独立的SparkSql作业,不使用则由Flink执行compaction。 表8 Hudi高级配置一览表 参数名 参数类型 默认值 单位 参数说明 index.type string BLOOM - Hudi表索引类型。 支持BLOOM和BUCKET索引,数据量较大场景下强烈建议使用BUCKET索引性能更好。 hoodie.bucket.index.num.buckets int 256 个 Hudi表单分区下Bucket桶数。 说明: 使用Hudi BUCKET表时需要设置Bucket桶数,桶数设置关系到表的性能,需要格外引起注意。 非分区表桶数 = MAX(单表数据量大小(G)/2G*2,再向上取整,4)。 分区表桶数 = MAX(单分区数据量大小(G)/2G*2,再后向上取整,1)。 其中,要注意的是: 需要使用的是表的总数据大小,而不是压缩以后的文件大小。 桶的设置以偶数最佳,非分区表最小桶数请设置4个,分区表最小桶数请设置1个。 changelog.enabled boolean false - Hudi changelog功能开关,开启后Migration作业可输出DELETE和UPDATE BEFORE数据。 logical.delete.enabled boolean true - 逻辑删除开关,changelog开启时必须关闭逻辑删除。 hoodie.write.liststatus.optimized boolean true - 写log文件时是否开启liststatus优化。涉及到大表和分区数据量多的作业,在启动时list会非常耗时,可能导致作业启动超时,建议关闭。 hoodie.index.liststatus.optimized boolean false - 定位数据时是否开启liststatus优化。涉及到大表和分区数据量多的作业,在启动时list会非常耗时,可能导致作业启动超时,建议关闭。 compaction.async.enabled boolean true - 异步compaction开关。compaction操作一定程度会影响实时任务的写入性能,如果用户使用外置的compaction操作对hudi进行compaction,可以考虑设置为false关闭实时处理集成作业的compaction操作。 compaction.schedule.enabled boolean true - 生成compaction计划的开关。compaction计划必须由本服务生成,计划的执行可以交给Spark。 compaction.delta_commits int 5 次 生成compaction request的频率。compaction request生成频率降低可以使得compaction频率降低从而提升作业性能。如果hudi增量数据较小。可以考虑增大该值。 说明: 例如配置为40,即每40次commit生成一个compaction request,因为Migration每分钟生成1个commit,那么每个compaction request将间隔40分钟。 clean.async.enabled boolean true - 做历史版本数据文件清理的开关。 clean.retain_commits int 30 次 要保留的commit数。这些commit关联的数据文件版本将被保留 num_of_commits * time_between_commits 这么长的时间,建议配置为2倍的compaction.delta_commits。 说明: 例如配置为80,因为Migration每分钟生成1个commit,那么超过80分钟后如果有旧版本数据文件 ,则会生成clean request,且在执行clean时保留最近80个commit。 hoodie.archive.automatic boolean true - Hudi commit文件老化开关。 archive.min_commits int 40 次 将旧版commit归档到日志文件中时要保留不归档的最小commit数。 建议配置成clean.retain_commits + 1。 说明: 例如配置成81,那么在触发归档动作时,将会保留最近81次commit文件。 archive.max_commits int 50 次 触发归档动作的commit数。 建议配置成archive.min_commits + 20。 说明: 例如配置成101,那么将在生成101个commit文件后触发归档commit文件动作。 为了达到Migration作业性能最优,建议使用Hudi Bucket索引的MOR表,并根据实际数据量配置Bucket桶数。 为了保证Migration作业的稳定性,建议将Hudi Compaction单独拆成Spark作业交由MRS执行,在Migration任务里仅开启生成compaction计划,具体可以参考如何配置Hudi Compaction的Spark周期任务?。 刷新源表和目标表映射,检查映射关系是否正确,同时可根据需求修改表属性、添加附加字段,并通过“自动建表”能力在目的端Hudi数据库中建出相应的表。 图11 源表与目标表映射 同步主键 Hudi表必须设置“同步主键”,在源端为非主键表时,必须在字段映射阶段手动勾选主键。 表属性编辑 单击操作列“表属性编辑”可配置Hudi表属性,包含表类型,分区类型及表自定义属性。 图12 Hudi表属性配置 表类型:MERGE_ON_READ、COPY_ON_WRITE。 分区类型:无分区、时间分区、自定义分区。 其中时间分区需要用户指定一个源端字段名,选择一个时间转换格式。 比如时间分区用户指定一个源端字段名src_col_1,选择一个时间转换格式,日(yyyyMMdd)、月(yyyyMM)、年(yyyy),自动建表时会在Hudi表默认创建一个cdc_partition_key的字段,系统会根据配置的时间转换格式将源端字段(src_col_1)的值格式化后写入cdc_partition_key中。 自定义分区不支持timestamp类型的字段,使用timestamp类型的字段会导致作业失败。 表自定义属性:支持通过参数配置单表的部分高级功能,参数详情可参考Hudi高级配置一览表。 附加字段编辑:单击操作列“附加字段编辑”可为目的端的Hudi表中增加自定义字段,同时附加字段也会额外加入到Hudi表的建表中。用户可以在已有的源表字段基础上添加多个附加字段,并自定义字段名、选择字段类型、填写字段值。 字段名称:目的端Hudi表新增字段的名称。 字段类型:目的端Hudi表新增字段的类型。 字段值:目的端Hudi表新增字段的取值来源。 表9 附加字段取值方式 类型 示例 常量 支持数字、字母、中文、特殊字符。彩色表情字符可能导致作业提交失败,需谨慎使用。 内置变量 源端host ip地址:source.host。 源端schema名称:source.schema。 源端table名称:source.table。 目的端schema名称:target.schema。 目的端table名称:target.table。 源表字段 源表中的任一字段。 配置附加字段的取值来源于源表字段时,请注意任务运行过程中不能修改对应源表字段的名称,否则可能导致作业异常。 udf方法 substring(#col, pos[, len]): 截取源端col列的子串, 范围在[pos, pos+len)。 date_format(#col, time_format[, src_tz, dst_tz]): 将源端col列按time_format格式化, 可选转换时区。 now([tz]): 获取指定时区的当前时间。 if(cond_exp, str1, str2): 满足条件表达式cond_exp时返回str1, 否则返回str2。 concat(#col[, #str, ...]): 拼接多个参数, 可为源端列或字符串。 from_unixtime(#col[, time_format]): 将unix时间戳按time_format格式化。 unix_timestamp(#col[, precision, time_format]): 将时间转成unix时间戳,可显式定义时间格式及转换后精度,time_format时间格式要与源端保持一致。 自动建表:单击“自动建表”可按照已配置映射规则在目的端数据库自动建表,成功后表建立方式会显示为使用已有表。 图13 自动建表 Migration仅支持自动建表,不支持自动建库和模式,需用户自行在目的端手动建出库和模式后再使用本功能建表。 自动建表时对应的字段类型映射关系请参见字段映射关系章节。 自动建出的Hudi表会带有3个审计字段,分别是cdc_last_update_date、logical_is_deleted、_hoodie_event_time,并会以_hoodie_event_time作为Hudi表的预聚合键。 配置DDL消息处理规则。 实时集成作业除了能够同步对数据的增删改等DML操作外,也支持对部分表结构变化(DDL)进行同步。针对支持的DDL操作,用户可根据实际需求配置为正常处理/忽略/出错。 正常处理:Migration识别到源端库表出现该DDL动作时,作业自动同步到目的端执行该DDL操作。 忽略:Migration识别到源端库表出现该DDL动作时,作业忽略该DDL,不同步到目的端表中。 出错:Migration识别到源端库表出现该DDL动作时,作业抛出异常。 图14 DDL配置 配置任务属性。 表10 任务配置参数说明 参数 说明 默认值 执行内存 作业执行分配内存,跟随处理器核数变化而自动变化。 8GB 处理器核数 范围:2-32。 每增加1处理核数,则自动增加4G执行内存和1并发数。 2 并发数 作业执行支持并发数。该参数无需配置,跟随处理器核数变化而自动变化。 1 自动重试 作业失败时是否开启自动重试。 否 最大重试次数 “自动重试”为是时显示该参数。 1 重试间隔时间 “自动重试”为是时显示该参数。 120秒 是否写入脏数据 选择是否记录脏数据,默认不记录脏数据,当脏数据过多时,会影响同步任务的整体同步速度。 否:默认为否,不记录脏数据。 表示不允许脏数据存在。如果同步过程中产生脏数据,任务将失败退出。 是:允许脏数据,即任务产生脏数据时不影响任务执行。 允许脏数据并设置其阈值时: 若产生的脏数据在阈值范围内,同步任务将忽略脏数据(即不会写入目标端),并正常执行。 若产生的脏数据超出阈值范围,同步任务将失败退出。 说明: 脏数据认定标准:脏数据是对业务没有意义,格式非法或者同步过程中出现问题的数据;单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。 因此只要是写入失败的数据均被归类于脏数据。 例如,源端是VARCHAR类型的数据写到INT类型的目标列中,则会因为转换不合理导致脏数据不会成功写入目的端。用户可以在同步任务配置时,配置同步过程中是否写入脏数据,配置脏数据条数(单个分片的最大错误记录数)保证任务运行,即当脏数据超过指定条数时,任务失败退出。 否 脏数据策略 “是否写入脏数据”为是时显示该参数,当前支持以下策略: 不归档:不对脏数据进行存储,仅记录到任务日志中。 归档到OBS:将脏数据存储到OBS中,并打印到任务日志中。 不归档 脏数据写入连接 “脏数据策略”选择归档到OBS时显示该参数。 脏数据要写入的连接,目前只支持写入到OBS连接。 - 脏数据目录 脏数据写入的OBS目录。 - 脏数据阈值 是否写入脏数据为是时显示该参数。 用户根据实际设置脏数据阈值。 说明: 脏数据阈值仅针对每个并发生效。比如阈值为100,并发为3,则该作业可容忍的脏数据条数最多为300。 输入-1表示不限制脏数据条数。 100 添加自定义属性 支持通过自定义属性修改部分作业参数及开启部分高级功能,详情可参见任务性能调优章节。 - 提交并运行任务。 作业配置完毕后,单击作业开发页面左上角“提交”,完成作业提交。 图15 提交作业 提交成功后,单击作业开发页面“启动”按钮,在弹出的启动配置对话框按照实际情况配置同步位点参数,单击“确定”启动作业。 图16 启动配置 表11 启动配置参数 参数 说明 同步模式 增量同步:从指定时间位点开始同步增量数据。 全量+增量:先同步全量数据,随后实时同步增量数据。 时间 增量同步需要设置该参数,指示增量同步起始的时间位点。 说明: 配置的位点时间早于Binlog日志最早时间点时,默认会以日志最早时间点开始消费。 监控作业。 通过单击作业开发页面导航栏的“前往监控”按钮,可前往作业监控页面查看运行情况、监控日志等信息,并配置对应的告警规则,详情请参见实时集成任务运维。 图17 前往监控
  • 数据库账号权限要求 在使用Migration进行同步时,源端和目的端所使用的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考表2进行赋权。 表2 数据库账号权限 类型名称 权限要求 源数据库连接账号 需要具备如下最小权限:SELECT、SHOW DATABASES、REPLICATION SLAVE、REPLICATION CLIENT,即执行SQL: GRANT SELECT, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '用户名'@'%'; 目标数据库连接账号 MRS用户需要拥有Hadoop和Hive组件的读写权限,建议参照下图所示角色及用户组配置MRS用户。 图1 MRS Hudi最小化权限 具体MRS集群角色权限管理请参考《MRS集群用户权限模型》。
  • 支持的同步对象范围 在使用Migration进行同步时,不同类型的链路,支持的同步对象范围不同,详细情况可参考表3。 表3 同步对象范围 类型名称 使用须知 同步对象范围 支持同步DML:包括INSERT、UPDATE、DELETE。 支持同步的DDL:新增列。 仅支持同步主键表。 仅支持同步MyISAM和InnoDB表。 不支持同步视图、外键、存储过程、触发器、函数、事件、虚拟列、唯一约束和唯一索引。 自动建表支持同步表结构、普通索引、约束(主键、空、非空)、注释。 不支持同步对象中存在包含CASCADE、SET NULL、SET DEFAULT之类引用操作的外键。这些关联操作会导致更新或删除父表中的行,影响子表对应的记录,并且子表的相关操作并不记录Binlog。
  • Migration作业创建与启动 创建作业。 根据准备好的作业拆分方案创建Migration作业,暂不启动作业。 获取DRS安全位点。 Migration作业需要根据DRS的同步位点启动作业,做到数据的续传、不漏数。 请联系DRS运维人员获取到DRS任务同步的安全位点(一个Binlog文件名),联系MySQL数据库运维根据安全位点查询出当前DRS已同步Binlog的时间戳,根据这个时间戳启动Migration作业。 在启动Migration作业前务必将DRS作业暂停,避免造成写冲突。 根据查询到的安全位点时间启动Migration作业,设置Migration启动位点时可以比安全位点时间更早一点(建议30min左右),避免丢数。 例如,查询到的DRS安全位点时间戳为2024-11-29 12:00:00,启动Migration作业时可以将位点配置为2024-11-29 11:30:00。 图5 设置Migration启动位点 Migration作业启动后,观察作业监控,确定Migration稳定后可以适时停止DRS作业。
  • 准备动作 Migration所需资源估算。 根据业务实际情况估算DRS作业迁移到Migration后,Migration大概需要多少资源承载新作业,规划作业的拆分和创建。资源不够的情况下请购买新migration资源组。 资源估算维度包括: DRS任务表数量 进入DRS任务,查看同步映射可以看到表数量。Migration单个作业表数量配置在50张以内性能最佳。 图1 查看DRS任务表数量 同步流量查看 进入DRS任务监控,查看监控指标,以“写目标库频率”为主要评估指标,同时观察DRS任务是否有时延。 Migration在配置8CU的情况下可以支撑8000条/秒的同步速率。流量较大的表建议单独配置作业。 图2 查看监控指标 图3 查看指标详情 参考客户建议,根据客户业务需求创建作业。 网络打通 Migration资源组需要打通数据源的网络连通。在DRS任务的基本信息中查看数据源配置,根据Migration网络打通教程完成网络打通。 图4 查看数据源配置
  • 概览 本章节汇总了基于Migration实时数据集成服务常见应用场景的操作指导,每个实践我们提供了详细的方案描述和操作指导,用于指导您快速实现数据库迁移和同步。 表1 Migration基础实践一览表 数据源分类 源端数据源 对应目的端数据源 相关文档 关系型数据 MySQL Hadoop:MRS Hudi MySQL同步到MRS Hudi作业配置 消息系统:DMS Kafka MySQL同步到Kafka作业配置 数据仓库 :DWS MySQL同步到DWS作业配置 SQLServer Hadoop:MRS Hudi 说明: 该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员。 SQLServer同步到MRS Hudi作业配置 PostgreSQL 数据仓库:DWS 说明: 该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员。 PostgreSQL同步到DWS作业配置 Open Gauss( GaussDB ) 数据仓库:DWS Hadoop:MRS Hudi、DMS Kafka GaussDB集中式/分布式同步到DWS作业配置 GaussDB集中式/分布式同步到MRS Hudi作业配置 GaussDB集中式/分布式同步到DMS Kafka作业配置 Oracle 数据仓库:DWS 说明: 该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员。 Oracle同步到DWS作业配置 Hadoop:MRS Hudi 说明: 该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员。 Oracle同步到MRS Hudi作业配置 消息系统 DMS Kafka 对象存储:OBS DMS Kafka同步到OBS作业配置 Apache Kafka Hadoop:MRS Kafka 说明: 该链路目前需申请白名单后才能使用。如需使用该链路,请联系客服或技术支持人员。 Apache Kafka同步到MRS Kafka作业配置 父主题: 使用教程
  • 目的端优化 DWS写入优化。 可通过在DWS的目的端配置中修改写入相关配置,且可以通过单击高级配置的“查看编辑”按钮,添加高级属性。 图1 添加高级属性 表1 DWS写入优化参数 参数名 类型 默认值 说明 写入模式 enum UPSERT DWS的写入模式,可在目的端配置中设置,实时处理集成作业推荐使用COPY MODE。 UPSERT:为批量更新入库模式。 COPY:为DWS专有的高性能批量入库模式。 批写最大数据量 int 50000 DWS单次写入的最大条数,可在目的端配置中设置。 当缓存的数据达到“批写最大数据量”和“定时批写时间间隔”之一的条件时,触发数据写入。 单次写入条数增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。 定时批写时间间隔 int 3 DWS单次写入的时间间隔,可在目的端配置中设置。 当缓存的数据达到定时批写时间间隔的条件,触发数据写入。 增大该值有助于增加单次写入时缓存的数据条数,但由于写入频率降低,会提升DWS数据可见的时延。 sink.buffer-flush.max-size int 512 DWS单次写入的数据大小,默认为512MB,可在目的端配置的高级配置中设置。 当缓存的数据达到数据大小限制时,触发数据写入。 与批写最大数据量类似,单次写入大小增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。
  • 目的端优化 DWS写入优化。 可通过在DWS的目的端配置中修改写入相关配置,且可以通过单击高级配置的“查看编辑”按钮,添加高级属性。 图1 添加高级属性 表1 DWS写入优化参数 参数名 类型 默认值 说明 写入模式 enum UPSERT DWS的写入模式,可在目的端配置中设置,实时处理集成作业推荐使用COPY MODE。 UPSERT:为批量更新入库模式。 COPY:为DWS专有的高性能批量入库模式。 批写最大数据量 int 50000 DWS单次写入的最大条数,可在目的端配置中设置。 当缓存的数据达到“批写最大数据量”和“定时批写时间间隔”之一的条件时,触发数据写入。 单次写入条数增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。 定时批写时间间隔 int 3 DWS单次写入的时间间隔,可在目的端配置中设置。 当缓存的数据达到定时批写时间间隔的条件,触发数据写入。 增大该值有助于增加单次写入时缓存的数据条数,但由于写入频率降低,会提升DWS数据可见的时延。 sink.buffer-flush.max-size int 512 DWS单次写入的数据大小,默认为512MB,可在目的端配置的高级配置中设置。 当缓存的数据达到数据大小限制时,触发数据写入。 与批写最大数据量类似,单次写入大小增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。
  • 源端优化 SQLServer抽取优化。 可通过在作业任务配置参数单击中“添加自定义属性”来新增SQLServer同步参数。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取Binlog数据,默认为true。跳过读取Binlog数据可以有效降低内存使用。需要注意的是,跳过读取Binlog功能只提供at-least-once保证。 表2 增量阶段优化参数 参数名 类型 默认值 说明 debezium.max.iteration.transactions int 1000 每张表在重演数据时每次抽取的数据条数,值较大时,会使得内存升高并阻塞增量同步任务。
  • 源端优化 Kafka抽取优化。 可通过在源端配置中单击“Kafka源端属性配置”来添加Kafka优化配置。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 properties.fetch.max.bytes int 57671680 消费Kafka时每次fetch请求返回的最大字节数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。 properties.max.partition.fetch.bytes int 1048576 消费Kafka时服务器将返回的每个分区的最大字节数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。 properties.max.poll.records int 500 消费者每次poll时返回的最大消息条数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。
  • 源端优化 Kafka抽取优化。 可通过在源端配置中单击“Kafka源端属性配置”来添加Kafka优化配置。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 properties.fetch.max.bytes int 57671680 消费Kafka时每次fetch请求返回的最大字节数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。 properties.max.partition.fetch.bytes int 1048576 消费Kafka时服务器将返回的每个分区的最大字节数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。 properties.max.poll.records int 500 消费者每次poll时返回的最大消息条数。Kafka单条消息大的场景,可以适当调高每次获取的数据量,以提高性能。
  • 源端优化 MySQL抽取优化。 可通过在作业任务配置参数单击中“添加自定义属性”来新增MySQL同步参数。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取Binlog数据,默认为true。跳过读取Binlog数据可以有效降低内存使用。需要注意的是,跳过读取Binlog功能只提供at-least-once保证。 scan.incremental.snapshot.chunk.size int 50000 分片大小,决定了全量阶段单个分片最大数据的数据条数以及分片个数。分片大小越大,单个分片数据条数越多,分片个数越小。 当表的条数过多时,作业会划分较多的分片,从而占用过多的内存导致内存问题,请根据表的条数适当调整该值。 当scan.incremental.snapshot.backfill.skip为false时,实时处理集成作业会缓存单个分片的数据,此时分片越大,占用内存越多,引发内存溢出,在此场景下,可以考虑降低分片大小。 scan.snapshot.fetch.size int 1024 全量阶段抽取数据时,从Mysql侧单次请求抽取数据的最大条数,适当增加请求条数可以减少对Mysql的请求次数提升性能。 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。 jdbc.properties.socketTimeout int 300000 全量阶段连接Mysql的socket超时时间,默认为5分钟。当Mysql负载较高,作业出现SocketTimeout异常时,考虑增大该值。 jdbc.properties.connectTimeout int 60000 全量阶段连接Mysql的连接超时时间,默认为1分钟。当Mysql负载较高,作业出现ConnectTimeout异常时,考虑增大该值。 表2 增量阶段优化参数 参数名 类型 默认值 说明 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。
  • 目的端优化 DWS写入优化。 可通过在DWS的目的端配置中修改写入相关配置,且可以通过单击高级配置的“查看编辑”按钮,添加高级属性。 图2 添加高级属性 表3 DWS写入优化参数 参数名 类型 默认值 说明 写入模式 enum UPSERT DWS的写入模式,可在目的端配置中设置,实时处理集成作业推荐使用COPY MODE。 UPSERT:为批量更新入库模式。 COPY:为DWS专有的高性能批量入库模式。 批写最大数据量 int 50000 DWS单次写入的最大条数,可在目的端配置中设置。 当缓存的数据达到“批写最大数据量”和“定时批写时间间隔”之一的条件时,触发数据写入。 单次写入条数增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。 定时批写时间间隔 int 3 DWS单次写入的时间间隔,可在目的端配置中设置。 当缓存的数据达到定时批写时间间隔的条件,触发数据写入。 增大该值有助于增加单次写入时缓存的数据条数,但由于写入频率降低,会提升DWS数据可见的时延。 sink.buffer-flush.max-size int 512 DWS单次写入的数据大小,默认为512MB,可在目的端配置的高级配置中设置。 当缓存的数据达到数据大小限制时,触发数据写入。 与批写最大数据量类似,单次写入大小增大可以减少请求DWS的次数,但可能导致单次请求时长增加,同时也可能导致缓存的数据增加进而影响内存使用。请综合考虑DWS规格和负载, 适当调整该值。
  • 源端优化 MySQL抽取优化。 可通过在作业任务配置参数单击中“添加自定义属性”来新增MySQL同步参数。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取Binlog数据,默认为true。跳过读取Binlog数据可以有效降低内存使用。需要注意的是,跳过读取Binlog功能只提供at-least-once保证。 scan.incremental.snapshot.chunk.size int 50000 分片大小,决定了全量阶段单个分片最大数据的数据条数以及分片个数。分片大小越大,单个分片数据条数越多,分片个数越小。 当表的条数过多时,作业会划分较多的分片,从而占用过多的内存导致内存问题,请根据表的条数适当调整该值。 当scan.incremental.snapshot.backfill.skip为false时,实时处理集成作业会缓存单个分片的数据,此时分片越大,占用内存越多,引发内存溢出,在此场景下,可以考虑降低分片大小。 scan.snapshot.fetch.size int 1024 全量阶段抽取数据时,从Mysql侧单次请求抽取数据的最大条数,适当增加请求条数可以减少对Mysql的请求次数提升性能。 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。 jdbc.properties.socketTimeout int 300000 全量阶段连接Mysql的socket超时时间,默认为5分钟。当Mysql负载较高,作业出现SocketTimeout异常时,考虑增大该值。 jdbc.properties.connectTimeout int 60000 全量阶段连接Mysql的连接超时时间,默认为1分钟。当Mysql负载较高,作业出现ConnectTimeout异常时,考虑增大该值。 表2 增量阶段优化参数 参数名 类型 默认值 说明 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。
  • 源端优化 MySQL抽取优化。 可通过在作业任务配置参数单击中“添加自定义属性”来新增MySQL同步参数。 图1 添加自定义属性 可使用的调优参数具体如下: 表1 全量阶段优化参数 参数名 类型 默认值 说明 scan.incremental.snapshot.backfill.skip boolean true 全量阶段是否跳过读取Binlog数据,默认为true。跳过读取Binlog数据可以有效降低内存使用。需要注意的是,跳过读取Binlog功能只提供at-least-once保证。 scan.incremental.snapshot.chunk.size int 50000 分片大小,决定了全量阶段单个分片最大数据的数据条数以及分片个数。分片大小越大,单个分片数据条数越多,分片个数越小。 当表的条数过多时,作业会划分较多的分片,从而占用过多的内存导致内存问题,请根据表的条数适当调整该值。 当scan.incremental.snapshot.backfill.skip为false时,实时处理集成作业会缓存单个分片的数据,此时分片越大,占用内存越多,引发内存溢出,在此场景下,可以考虑降低分片大小。 scan.snapshot.fetch.size int 1024 全量阶段抽取数据时,从Mysql侧单次请求抽取数据的最大条数,适当增加请求条数可以减少对Mysql的请求次数提升性能。 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。 jdbc.properties.socketTimeout int 300000 全量阶段连接Mysql的socket超时时间,默认为5分钟。当Mysql负载较高,作业出现SocketTimeout异常时,考虑增大该值。 jdbc.properties.connectTimeout int 60000 全量阶段连接Mysql的连接超时时间,默认为1分钟。当Mysql负载较高,作业出现ConnectTimeout异常时,考虑增大该值。 表2 增量阶段优化参数 参数名 类型 默认值 说明 debezium.max.queue.size int 8192 数据缓存队列条数,默认为8192,当源表中单条数据过大时(如1MB),缓存过多数据会导致内存溢出,可以考虑减小该值。 debezium.max.queue.size.in.bytes int 0 数据缓存队列大小,默认为0,即表示缓存队列不考虑数据大小,只按照数据条数计算。在debezium.max.queue.size无法有效限制内存占用时,考虑显式设置该值来限制缓存数据的大小。
  • 作业调优 默认场景下,给定的1U4G规格可满足绝大部分使用场景,但Migration服务也提供修改JobManager和TaskManager规格的能力以应对极端情况。例如最常见的作业内存溢出,可以在实时集成作业的“任务配置”中添加自定义属性,根据实际情况调整JobManager和TaskManager的各类内存来适应同步场景。 图1 添加自定义属性 表1 作业任务参数一览表 参数名 参数类型 默认值 参数说明 jobmanager.memory.process.size int 3586MB jobmanager的处理内存,直接影响堆内存大小。 说明: 该配置会占用总体资源,影响新增其他作业,非必要不配置。 taskmanager.memory.process.size int 3686MB taskmanager的处理内存,直接影响堆内存大小。 说明: 该配置会占用总体资源,影响新增其他作业,非必要不配置。 taskmanager.memory.managed.fraction int 0.2 taskmanager管理内存占比。 taskmanager.memory.network.max int 128MB 默认不需要配置,分库分表场景下如果实例数和表数过多,建议根据实际情况增加网络内存。 taskmanager.memory.network.fraction int 0.1 默认不需要配置,分库分表场景下如果实例数和表数过多,建议根据实际情况增加网络内存。 checkpoint.interval int 60000 Flink作业生成checkpoint的间隔,单位为毫秒。数据量大的作业建议调大,需要给更长时间进行数据Flush,但会增加时延。 checkpoint.timeout.ms int 600000 Flink作业生成checkpoint的超时时间,单位为毫秒。
  • 目的端写入慢 检查目的端负载是否已达到目的端数据源上限。优先查看目的端数据源的监控指标,查看CPU、内存、IO等参数是否处于高负载状态。 在排除目的端负载的情况下,加大作业并发,以提高写入速度。 如果第2步也无法有效提升性能,请根据源端抽取慢排查源端的性能因素。 如果排除了源端问题的情况下,请参考对应链路性能调优文档尝试进行参数优化。 如果上述步骤仍然无法提升作业速度,请联系技术支持人员协助解决。
  • 源端抽取慢 检查源端负载是否已到达源端数据源上限。优先查看源端数据源的监控指标,查看CPU、内存、IO等参数是否处于高负载状态。 在排除源端负载的情况下,如果源端是MySQL/Oracle/SQLServer/PostgreSQL/GaussDB等的全量+增量作业且作业处于全量抽取阶段,或者Kafka/Hudi等数据源抽取速度慢,请优先尝试加大作业并发数,以提高作业的并发抽取速率。 MySQL/Oracle/SQLServer/PostgreSQL/GaussDB等关系型数据为保证事务有序,在增量阶段是单并发抽取,加大并发一般不会提升抽取性能。 如果第2步也无法有效提升性能,请参考对应链路性能调优文档尝试进行参数优化。 如果上述步骤仍然无法提升作业速度,请联系技术支持人员协助解决。
  • 操作步骤 暂停运行中的实时集成作业。 方式一: 登录DataArts Studio控制台实例,进行所用空间的数据开发界面,单击左侧导航栏的“作业监控”,进入“实时集成作业监控界面”,搜索对应的实时集成作业,单击右侧操作栏中的“暂停”按钮。 图1 暂停作业1 方式二: 登录DataArts Studio控制台实例,进行所用空间的数据开发的“作业开发”界面,搜索并双击进入对应的实时集成作业配置界面,单击作业导航栏中的“暂停”按钮。 图2 暂停作业2 修改任务配置。 根据实际需求,在实时集成作业配置界面中修改对应参数,随后保存提交作业。 恢复实时集成作业。 方式一:登录DataArts Studio控制台实例,进行所用空间的数据开发界面,单击左侧导航栏的“作业监控”,进入“实时集成作业监控界面”,搜索对应的实时集成作业,单击右侧操作栏中的“恢复”按钮。 图3 恢复作业1 方式二:登录DataArts Studio控制台实例,进行所用空间的数据开发的“作业开发”界面,搜索并双击进入对应的实时集成作业配置界面,单击作业导航栏中的“恢复”按钮。 图4 恢复作业2 动态加减表对于不同的启动模式有不同的操作效果,具体如下: 对于初始启动模式为“增量同步”的作业,暂停加表后恢复作业,新增的表将从暂停前的位点或用户重置的位点开始进行增量同步。 对于初始启动模式为“全量+增量”的作业,暂停加表后恢复作业,将对新增的表先进行全量同步,再从暂停前的位点开始进行增量同步。
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、migration资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源VPC 华为云数据源所属的VPC,各数据源VPC查看方式不同,具体方法请参考数据源官方文档。 192.168.0.0/24 migration资源组VPC Migration实时计算资源组所属VPC,由于migration资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定migration资源组的下拉框,查看该migration资源组的VPC网段。 图2 查询migration资源组网段 172.16.0.0/19
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、migration资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源公网IP 其他云数据源的公网IP,请用户根据实际情况自行获取。 14.x.x.x/32 弹性公网IP migration资源组不具有公网网段,只能通过公网NAT转换成固定的弹性公网IP以访问公网。若未开通弹性公网IP,请登录弹性公网IP控制台,单击“购买弹性公网IP”,参考通过VPC和EIP快速搭建可访问公网的网络进行配置。 100.x.x.x/32 中转VPC及其子网 用于连通数据源和migration资源组网络的中间桥梁,本方案中需要使用当前租户下的一个虚拟私有云。若未开通VPC请参考创建虚拟私有云进行配置。 VPC:10.186.0.0/19 子网:10.186.0.0/24 migration资源组VPC Migration实时计算资源组所属VPC,由于migration资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定migration资源组的下拉框,查看该migration资源组的VPC网段。 图2 查询migration资源组网段 172.16.0.0/19
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、migration资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源公网IP 本地IDC数据源的公网IP,请用户根据实际情况自行获取。 14.x.x.x/32 弹性公网IP migration资源组不具有公网网段,只能通过公网NAT转换成固定的弹性公网IP以访问公网。若未开通弹性公网IP,请登录弹性公网IP控制台,单击“购买弹性公网IP”,参考通过VPC和EIP快速搭建可访问公网的网络进行配置。 100.x.x.x/32 中转VPC及其子网 用于连通数据源和migration资源组网络的中间桥梁,本方案中需要使用当前租户下的一个虚拟私有云。若未开通VPC请参考创建虚拟私有云进行配置。 VPC:10.186.0.0/19 子网:10.186.0.0/24 migration资源组VPC Migration实时计算资源组所属VPC,由于migration资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定migration资源组的下拉框,查看该migration资源组的VPC网段。 图2 查询migration资源组网段 172.16.0.0/19
  • 使用前自检概览 当您在使用Migration服务创建实时同步任务前,需要预先检查是否做好了准备工作,以满足实时同步任务的环境要求。 表1 自检项 自检项 说明 需要执行的准备工作 华为云账号及权限准备 准备华为账号,创建用户并授权使用Migration。 说明: 所使用的DataArts Studio版本需要为初级版及以上。 若使用联邦账号,作业提交需配置委托,详情参考配置调度身份。 参考 注册华为账号 并开通华为云。 参考授权使用实时数据集成。 实时计算资源组准备 购买实时集成任务使用的计算资源,并关联到要使用的DataArts Studio工作空间。 参考购买数据集成资源组增量包。 参考实时集成资源组关联工作空间。 数据库准备 连接源和目标数据库以及对应连接账号权限准备。 说明: 建议创建单独用于Migration任务连接的数据库账号,避免因为账号修改导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改Migration任务中的连接信息,避免任务连接失败后的自动重试导致数据库账号被锁定,影响使用。 不同链路、数据库、权限要求不同,可参考以下链接,选择对应链路查看使用须知:使用教程。 连接准备 准备DataArts Studio管理中心数据连接。 说明: 数据连接配置中必须勾选数据集成选项。 数据连接中使用的Agent代理实际为 CDM 集群,所用集群需升级至较新版本(24.4.0B030版本以上),以满足功能特性需求,详情请联系客服或技术支持人员。 参考创建DataArts Studio数据连接。 网络准备 说明: 请确保Migration服务与目标库之间的RTT(Round-Trip Time)小于2毫秒,否则将会影响Migration任务的性能。 例如,目标库与Migration服务之间的物理距离较远(例如,部署在非中国大陆区域的数据库,通过VPN接入到部署在中国大陆区域的Migration),导致RTT远高于2毫秒,从而导致Migration产生延迟。 数据库部署在本地IDC。 参考数据库部署在本地IDC进行网络准备。 数据库部署在其他云。 参考数据库部署在其他云进行网络准备。 数据库部署在华为云。 参考数据库部署在华为云进行网络准备。 父主题: 数据集成(实时作业)
  • 约束与限制 已购买并配置DataArts Studio实例,并创建了可供使用的工作空间。 已创建 IAM 用户并授权使用DataArts Studio权限,详情请参见创建IAM用户并授予DataArts Studio权限。 当前IAM用户已加入拥有DataArts Studio的系统角色(如“DAYU Administrator”或“DAYU User”)的用户组,详情请参见创建IAM用户并授予DataArts Studio权限。 当前IAM用户已配置DataArts Studio工作空间的角色成员,且该空间角色成员需要拥有数据开发、管理中心服务的类管理员或开发者权限,用于查看、创建与操作数据连接、数据集成任务,角色的权限说明请参见权限列表。
  • 操作步骤 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。 在DataArts Studio控制台首页,选择实例,单击“进入控制台”。 单击“资源管理”,进入资源管理页面。 在“实时资源管理”页签中,找到指定的数据集成资源组,单击右侧操作栏中的“关联工作空间”。 图1 关联工作空间入口 在弹出框中,搜索需要使用的DataArts Studio工作空间,单击“关联”按钮,即可在对应工作空间中选到该数据集成资源组。 一个数据集成资源组可以关联到多个DataArts Studio工作空间。 图2 关联工作空间
  • GBASE连接参数说明 连接GBASE连接时,相关参数如表1所示。 表1 GBASE连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 adb_link 连接器 默认为关系数据库,不可更改。 - 数据库服务器 配置为要连接的数据库的IP地址或 域名 ,多个值以;分隔。 192.168.0.1;192.168.0.2 端口 配置为要连接的数据库的端口。 3306 数据库名称 配置为要连接的数据库名称。 dbname 用户名 待连接数据库的用户。 数据库用户名。新建分库连接时,此配置对数据源列表中所有未配置用户名密码的后端连接生效;编辑分库连接时,如需修改已存在的后端连接,请在数据源列表中单独指定用户名密码。 cdm 密码 数据库密码。 - 使用Agent Agent功能待下线,无需配置。 GBASE为GBASE8A时显示该参数。 - Agent Agent功能待下线,无需配置。 GBASE为GBASE8A时显示该参数。 - 引用符号 可选参数,数据库包围标识符。对某些数据库意味着大小写敏感,如不需用请置空。 " 驱动版本 不同类型的关系数据库,需要适配不同的驱动,更多详情请参见如何获取驱动。 GBASE为GBASE8A时显示该参数。 - 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 10000 单次提交行数 可选参数,单击“显示高级属性”后显示。 指定每次批量提交的行数,根据数据目的端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 连接属性 自定义连接属性。可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: socketTimeout:配置JDBC连接超时时间,单位为毫秒。 mysql.bool.type.transform:配置mysql读取时,是否将tinyint(1)解析成boolean类型,默认为true。 - 父主题: 配置连接参数
  • 环境变量 环境变量中支持定义变量和常量,环境变量的作用范围为当前工作空间。 变量是指不同的空间下取值不同,需要重新配置值,比如“工作空间名称”变量,这个值在不同的空间下配置不一样,导出导入后需要重新进行配置。 常量是指在不同的空间下都是一样的,导入的时候,不需要重新配置值。 图1 环境变量 具体应用如下: 在环境变量中已新增一个变量,“参数名”为sdqw,“参数值”为wqewqewqe。 打开一个已创建好的作业,从左侧节点库中拖拽一个“Create OBS”节点。 在节点属性页签中配置属性。 图2 Create OBS 单击“保存”后,选择“前往监控”页面监控作业的运行情况。
  • 场景描述 在配置作业调度时,可以选择每个月的最后一天执行。如果您需要配置作业的调度时间为每月最后一天,请参考下面两种方法。 表1 配置每月最后一天进行调度 配置方法 优势 如何配置 调度周期配置为天,通过条件表达式进行判断是否为每月最后一天 可以灵活适用多种场景。只需要编写条件表达式就可以灵活调度作业去运行。例如,每月最后一天,每月七号等。 方法1 调度周期配置为月,勾选每月最后一天 通过配置调度周期来执行任务调度。不用编写开发语句,通过勾选需要调度的时间去执行任务。 方法2
  • 新建企业模式工作空间 如果您之前未使用过简单模式、无需继承业务数据,则可以直接新建企业模式工作空间。 创建工作空间 使用具有DAYU Administrator、Tenant Administrator权限的账号进入DataArts Studio控制台。 单击控制台的“空间管理”页签,进入工作空间页面。 单击“创建工作空间”,在空间信息页面请根据页面提示配置参数,参数说明如表1所示,配置完成后,单击“确定”完成工作空间的创建。 图6 空间信息 表1 新建空间参数说明 参数名 说明 空间名称 空间名称,只能包含字母、数字、下划线、中划线、中文字符,且长度不超过32个字符。在当前的DataArts Studio实例中,工作空间名称必须唯一。 空间描述 空间的描述信息。 空间模式 选择工作空间为简单模式还是企业模式。新建企业模式工作空间时,此处需配置为企业模式。 企业项目 DataArts Studio实例默认工作空间关联的企业项目。企业项目管理是一种按企业项目管理云资源的方式,具体请参见《企业管理用户指南》。 如果已经创建了企业项目,这里才可以选择。当DataArts Studio实例需连接云上服务(如DWS、MRS、RDS等),还必须确保DataArts Studio工作空间的企业项目与该云服务实例的企业项目相同。 一个企业项目下只能购买一个DataArts Studio实例。 需要与其他云服务互通时,需要确保与其他云服务的企业项目一致。 说明: 未开通企业项目时,则每个IAM项目只允许创建1个DataArts Studio实例。 作业日志OBS路径 用于指定DataArts Studio数据开发作业的日志存储的OBS桶。工作空间成员如需使用DataArts Studio数据开发,必须具备“作业日志OBS桶”的读、写权限,否则,在使用过程中,系统将无法正常读、写数据开发的作业日志。 单击“选择OBS路径”按钮,您可以选择一个已创建的OBS桶和对象,系统将基于工作空间全局配置作业日志OBS桶。 如果不配置该参数,DataArts Studio数据开发的作业日志默认存储在以“dlf-log-{projectId}”命名的OBS桶中,{projectId}即项目ID。 说明: 数据开发作业运行完以后,运行结果日志会存储在OBS桶路径下面,便于查看运行历史记录,文件格式为xxxxx.log的文件就是作业运行日志,xxxxx表示作业id。已经运行完的SQL结果,删除历史记录后,不会影响业务。 DLI 脏数据OBS路径 用于指定DataArts Studio数据开发中DLI SQL执行过程中的脏数据存储的OBS桶。工作空间成员如需使用DataArts Studio数据开发执行DLI SQL,必须具备“DLI脏数据OBS桶”的读、写权限,否则,在使用过程中,系统将无法正常读、写DLI SQL执行过程中的脏数据。 单击“选择OBS路径”按钮,您可以选择一个已创建的OBS桶和对象,系统将基于工作空间全局配置DLI脏数据OBS桶。 如果不配置该参数,DataArts Studio数据开发的DLI SQL脏数据默认存储在以“dlf-log-{projectId}”命名的OBS桶中。 标签 通过为资源添加标签,可以对资源进行自定义标记,实现资源的分类。 说明: 如您的账号归属某个组织,且该组织已经设定DataArts Studio服务的相关标签策略,则需按照标签策略规则添加标签。标签如果不符合标签策略的规则,则可能会导致实例创建失败,请联系组织管理员了解标签策略详情。 当拥有多个工作空间时,您可以按使用者、维护者或用途等各类维度为各工作空间添加标签,然后在工作空间列表页面,可以通过标签搜索、识别不同类型的工作空间。 标签由标签键和标签值组成。在添加标签时,标签键和标签值可以选择在标签管理服务(简称TMS)中创建的预定义标签,也可以直接输入自定义的标签。然后单击输入框右侧的“添加”,即可成功添加一条标签。 说明: 预定义标签需要预先在标签管理服务中创建好,然后才能进行选择。您可以通过单击“查看预定义标签”进入标签管理服务的“预定义标签”页面,然后单击“创建标签”来创建新的预定义标签,具体请参见《标签管理服务用户指南》中的“创建预定义标签”章节。 另外,工作空间最多支持添加20个标签,标签的键名不能重复,一个“标签键”只能添加一个对应“标签值”。 创建后操作 创建后需要管理员手工新建数据连接、配置环境隔离,并按照组织分工在工作空间处定义管理员、开发者、部署者、运维者等角色。 新建数据连接:请参考创建DataArts Studio数据连接。 配置环境隔离:请参考配置DataArts Studio企业模式环境隔离。 为其他用户定义工作空间角色:请参见添加工作空间成员和角色章节添加工作空间成员和角色。 另外,新建企业模式工作空间,还需要您在数据开发中配置空间级别的公共委托或公共IAM账号。配置委托的操作详情可参见配置调度身份。 图7 配置工作空间委托
  • 简单模式升级企业模式 对于简单模式的工作空间,DAYU Administrator、Tenant Administrator可以直接将其升级为企业模式。 升级前操作 如果您需要升级工作空间模式,需要在数据开发中配置空间级别的公共委托或公共IAM账号,避免升级失败。 配置委托的操作详情可参见配置调度身份。 图4 配置工作空间委托 升级操作 登录DataArts Studio控制台。 找到所需要的DataArts Studio实例,在DataArts Studio实例上单击“进入控制台”。然后,选择“空间管理”页签。 在“空间管理”页面,找到需要升级模式的工作空间,单击其所在行的“编辑”,此时显示“空间信息”页面。 在“空间信息”页面,单击“空间模式”后的“升级”按钮,弹出确认界面后,单击“确认升级”您就可以将该工作空间升级为企业模式。 图5 升级企业模式 升级后操作 升级后需要管理员手工修改数据连接、配置环境隔离,并按照组织分工在工作空间处定义管理员、开发者、部署者、运维者等角色。 修改数据连接:请参考创建DataArts Studio数据连接。 配置环境隔离:请参考配置DataArts Studio企业模式环境隔离。 为其他用户定义工作空间角色:请参见添加工作空间成员和角色章节添加工作空间成员和角色。
共100000条
提示

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