华为云用户手册

  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域 指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要求,或满足不同地区的法律或其他要求。 可用区 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 父主题: 使用前必读
  • 作业调优 默认场景下,给定的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的超时时间,单位为毫秒。
  • 操作步骤 暂停运行中的实时集成作业。 方式一: 登录 DataArts Studio 控制台实例,进行所用空间的数据开发界面,单击左侧导航栏的“作业监控”,进入“实时集成作业监控界面”,搜索对应的实时集成作业,单击右侧操作栏中的“暂停”按钮。 图1 暂停作业1 方式二: 登录DataArts Studio控制台实例,进行所用空间的数据开发的“作业开发”界面,搜索并双击进入对应的实时集成作业配置界面,单击作业导航栏中的“暂停”按钮。 图2 暂停作业2 修改任务配置 根据实际需求,在实时集成作业配置界面中修改对应参数,随后保存提交作业。 恢复实时集成作业。 方式一:登录DataArts Studio控制台实例,进行所用空间的数据开发界面,单击左侧导航栏的“作业监控”,进入“实时集成作业监控界面”,搜索对应的实时集成作业,单击右侧操作栏中的“恢复”按钮。 图3 恢复作业1 方式二:登录DataArts Studio控制台实例,进行所用空间的数据开发的“作业开发”界面,搜索并双击进入对应的实时集成作业配置界面,单击作业导航栏中的“恢复”按钮。 图4 恢复作业2 动态加减表对于不同的启动模式有不同的操作效果,具体如下: 对于初始启动模式为“增量同步”的作业,暂停加表后恢复作业,新增的表将从暂停前的位点或用户重置的位点开始进行增量同步。 对于初始启动模式为“全量+增量”的作业,暂停加表后恢复作业,将对新增的表先进行全量同步,再从暂停前的位点开始进行增量同步。
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源VPC 华为云数据源所属的VPC,各数据源VPC查看方式不同,具体方法请参考数据源官方文档。 192.168.0.0/24 资源组VPC Migration实时计算资源组所属VPC,由于资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定资源组的下拉框,查看该资源组的VPC网段。 图2 查询资源组网段 172.16.0.0/19
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源公网IP 其他云数据源的公网IP,请用户根据实际情况自行获取。 14.x.x.x/32 弹性公网IP 资源组不具有公网网段,只能通过公网NAT转换成固定的弹性公网IP以访问公网。若未开通弹性公网IP,请登录弹性公网IP控制台,单击“购买弹性公网IP”,参考通过VPC和EIP快速搭建可访问公网的网络进行配置。 100.x.x.x/32 中转VPC及其子网 用于连通数据源和资源组网络的中间桥梁,本方案中需要使用当前租户下的一个虚拟私有云。若未开通VPC请参考创建虚拟私有云进行配置。 VPC:10.186.0.0/19 子网:10.186.0.0/24 资源组VPC Migration实时计算资源组所属VPC,由于资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定资源组的下拉框,查看该资源组的VPC网段。 图2 查询资源组网段 172.16.0.0/19
  • 准备工作 查询打通网络过程中所涉及到对象的网段(包含数据源、中转VPC、资源组),为便于理解,本章节将举例为您进行介绍。 表1 资源网段规划 资源名称 说明 私网网段示例 数据源公网IP 本地IDC数据源的公网IP,请用户根据实际情况自行获取。 14.x.x.x/32 弹性公网IP 资源组不具有公网网段,只能通过公网NAT转换成固定的弹性公网IP以访问公网。若未开通弹性公网IP,请登录弹性公网IP控制台,单击“购买弹性公网IP”,参考通过VPC和EIP快速搭建可访问公网的网络进行配置。 100.x.x.x/32 中转VPC及其子网 用于连通数据源和资源组网络的中间桥梁,本方案中需要使用当前租户下的一个虚拟私有云。若未开通VPC请参考创建虚拟私有云进行配置。 VPC:10.186.0.0/19 子网:10.186.0.0/24 资源组VPC Migration实时计算资源组所属VPC,由于资源组创建在用户账户下属的资源租户,使用资源租户的VPC网段,因此不占用用户账户的VPC网段。 查看方式: 登录DataArts Studio控制台,进入实例,单击“资源管理”进入资源管理页面,在“实时资源管理”中单击指定资源组的下拉框,查看该资源组的VPC网段。 图2 查询资源组网段 172.16.0.0/19
  • 使用前自检概览 当您在使用Migration服务创建实时同步任务前,需要预先检查是否做好了准备工作,以满足实时同步任务的环境要求。 表1 自检项 自检项 说明 需要执行的准备工作 为云账号及权限准备 准备华为账号,创建用户并授权使用Migration。 参考 注册华为账号 并开通华为云。 参考授权使用实时数据集成。 实时计算资源组准备 购买实时集成任务使用的计算资源,并关联到要使用的DataArts Studio工作空间。 参考购买数据集成资源组增量包。 参考实时集成资源组关联工作空间。 数据库准备 连接源和目标数据库以及对应连接账号权限准备。 说明: 建议创建单独用于Migration任务连接的数据库账号,避免因为账号修改导致的任务连接失败。 连接源和目标数据库的账号密码修改后,请尽快修改Migration任务中的连接信息,避免任务连接失败后的自动重试导致数据库账号被锁定,影响使用。 不同链路、数据库、权限要求不同,可参考以下链接,选择对应链路查看使用须知:使用教程。 连接准备 准备DataArts Studio管理中心数据连接。 说明: 数据连接配置中必须勾选数据集成选项。 数据连接中使用的Agent代理实际为 CDM 集群,所用集群建议升级至较新版本(24.4.0B030版本以上),以满足功能特性需求,详情请联系客服或技术支持人员。 参考创建DataArts Studio数据连接。 网络准备 数据库部署在本地IDC 参考数据库部署在本地IDC进行网络准备。 数据库部署在其他云 参考数据库部署在其他云进行网络准备。 数据库部署在华为云 参考数据库部署在华为云进行网络准备。 父主题: 数据集成(实时作业)
  • 操作步骤 参考访问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
  • (可选)创建 DLI 环境隔离 仅Serverless服务(当前即DLI)需要配置环境隔离。 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。 在DataArts Studio控制台首页,选择对应工作空间的“管理中心”模块,进入管理中心页面。 在管理中心页面,单击“数据源资源映射配置”,进入数据源资源映射配置页面。 图1 数据源资源映射配置 单击“DB配置”下的“添加”,然后分别配置开发环境数据库名和生产环境数据库名,完成后单击“保存”。通过和可以进行编辑和删除操作。 数据库名需配置为已创建完成的数据库名。建议在创建数据库时,开发环境数据库名和生产环境数据库名保持一致,开发环境数据库名带上“_dev”后缀,以与生产环境数据库名进行区分。 图2 DB配置 单击“DLI队列配置”下的“添加”,然后分别配置开发环境队列名和生产环境队列名,完成后单击“保存”。通过和可以进行编辑和删除操作。 队列名需配置为已在DLI创建完成的队列名。建议开发环境队列名和生产环境队列名保持一致,开发环境队列名带上“_dev”后缀,以与生产环境队列名进行区分。 图3 DLI队列配置 “DB配置”和“DLI队列配置”完成后,DLI环境隔离创建成功。
  • DB配置 在DataArts Studio控制台首页,选择对应工作空间的“管理中心”模块,进入管理中心页面。 在管理中心页面,单击“数据源资源映射配置”,进入数据源资源映射配置页面。 单击“DB配置”下的“添加”,然后分别配置开发环境数据库名和生产环境数据库名,完成后单击“保存”。通过和可以进行编辑和删除操作。 数据库名需配置为已创建完成的数据库名。建议在创建数据库时,开发环境数据库名和生产环境数据库名保持一致,开发环境数据库名带上“_dev”后缀,以与生产环境数据库名进行区分。 对于DWS、 MRS Hive和MRS Spark这三种数据源,如果在创建数据连接时选择同一个集群,则需要配置数据源资源映射的DB数据库映射关系进行开发生产环境隔离。 图4 DB配置
  • 运维者操作 运维者作为运维管理的负责人,需要对生产环境的作业、实例、通知、备份等进行统一管控,相关操作如下表所示。 表1 运维者操作 操作 说明 作业监控 包含对批作业、实时作业的监控。 具体请参见作业监控。 实例监控 对作业实例进行监控,作业每次运行,都会对应产生一次作业实例记录。 具体请参见实例监控。 补数据监控 对补数据作业运行情况进行监控。可以通过补数据,修正历史中出现数据错误的作业实例,或者构建更多的作业记录以便调试程序等。 具体请参见补数据监控。 通知管理 配置在作业运行异常或成功时能接收到通知。 具体请参见通知管理。 备份管理 支持每日定时备份昨日系统中的所有作业、脚本、资源和环境变量。 具体请参见备份管理。 父主题: 企业模式角色操作
  • 开发者操作 开发者作为任务开发与处理的人员,需要开发脚本、开发作业等,相关操作如下表所示。 表1 开发者操作 操作 说明 脚本开发 选择开发环境的 数据湖 引擎,在开发环境下的调测并发布数据开发脚本,发布到生产环境后系统会自动替换为对应生产环境引擎。 具体请参见脚本开发。 作业开发 选择开发环境的数据湖引擎,在开发环境下的调测并发布数据开发作业,发布到生产环境后系统会自动替换为对应生产环境引擎。 具体请参见作业开发。 父主题: 企业模式角色操作
  • 管理员操作 管理员作为项目负责人或开发责任人,需要为企业模式的环境配置、人员角色等进行统一管控,相关操作如下表所示。 表1 管理员操作 操作 说明 准备工作 包含数据湖准备以及数据准备与同步。 数据湖准备: 由于企业模式下需要区分开发环境和生产环境,因此您需要分别准备对应生产环境和开发环境的两套数据湖服务,用于隔离开发和生产环境: 对于集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、E CS ),DataArts Studio通过管理中心的创建数据连接区分开发环境和生产环境的数据湖服务,在开发和生产流程中自动切换对应的数据湖。因此您需要准备两套数据湖服务(即两个集群),且两套数据湖服务的版本、规格、组件、区域、VPC、子网以及相关配置等信息,均应保持一致。 例如,当您的数据湖服务为MRS集群时,需要准备两套MRS集群,且版本、规格、组件、区域、VPC、子网等保持一致。如果某个MRS集群修改了某些配置,也需要同步到另一套MRS集群上。 对于Serverless服务(例如DLI),DataArts Studio通过管理中心的环境隔离来配置生产环境和开发环境数据湖服务的对应关系,在开发和生产流程中自动切换对应的数据湖。因此您需要在Serverless数据湖服务中准备两套队列、数据库资源,建议通过名称后缀进行区分。 特别的,对于DWS、MRS Hive和MRS Spark数据源,如果使用一套相同的集群,则需要配置数据源资源映射的DB数据库映射关系进行开发生产环境隔离。 数据准备与同步: 数据湖服务创建完成后,您需要按照项目规划(例如数据开发需要操作的库表等),分别在开发和生产环境的数据湖服务中,新建数据库、数据库模式(仅DWS需要)、数据表等。 对于集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、ECS),使用两套集群资源,两套环境中的数据库、数据库模式(仅DWS需要)和数据表必须保持同名。 对于Serverless服务(例如DLI),两套队列和数据库建议通过名称和后缀(开发环境添加后缀“_dev”,生产环境无后缀)进行关联与区分,数据表必须保持同名。 对于DWS、MRS Hive和MRS Spark数据源,使用一套集群资源,通过两个数据库(开发环境添加后缀“_dev”,生产环境无后缀)进行开发生产环境隔离,两套环境中的数据库模式(仅DWS需要)和数据表必须保持同名。 数据库、数据库模式(仅DWS需要)、数据表等新建完成后,如果涉及原始数据表等,您还需要将两套数据湖服务之间的数据进行同步: 数据湖中已有数据:通过CDM或DRS等数据迁移服务,在数据湖间批量同步数据。 数据源待迁移数据:通过对等的CDM或DRS等数据迁移服务作业进行同步,保证生产环境和开发环境的数据湖服务数据一致。 创建企业模式数据连接 对于所有的数据湖引擎,都需要创建数据连接。 对于集群化的数据源,如果使用不同的集群,支持同时创建DataArts Studio与开发环境数据湖、DataArts Studio与生产环境数据湖之间的数据连接。 具体请参见创建DataArts Studio数据连接。 配置企业模式环境隔离 配置开发、生产环境的DLI队列和DB映射配置的环境隔离。 对于DWS、MRS Hive和MRS Spark这三种数据源,如果在创建数据连接时选择同一个集群资源,则需要在同一个数据湖服务下配置两套数据库,进行开发与生产环境隔离,具体请参见DB配置。 对于数据源为DLI时,可以通过企业模式环境隔离配置两套DLI队列和DB数据库进行生产与开发环境的隔离。具体请参见配置DataArts Studio企业模式环境隔离。 授权用户使用DataArts Studio 为协同使用DataArts Studio的项目成员创建具备“DAYU User”权限的IAM账号,并匹配对应的工作空间角色。 具体请参见授权用户使用DataArts Studio章节创建用户并授予权限。 父主题: 企业模式角色操作
  • 企业模式业务流程 当前DataArts Studio企业模式,主要涉及管理中心和数据开发组件,业务流程由管理员、开发者、部署者、运维者等角色共同完成。 图1 企业模式架构 管理员:管理员需要进行准备数据湖、配置数据连接和环境隔离、数据的导入导出、配置项目用户权限等操作。 开发者:开发者需要在数据开发的开发环境,进行脚本、作业开发等操作,开发完成后进行测试运行、提交版本,最终提交发布任务。 部署者:部署者需要在数据开发的开发环境,查看待审批任务,并进行发布审批操作。 运维者:部署者需要在数据开发的生产环境,基于开发者发布的资源,进行作业监控、通知管理、备份等操作。 自定义角色:用户可以对需要的操作权限进行自定义设置,来满足实际业务的需要。 访客:具备DataArts Studio只读权限,只允许对DataArts Studio进行数据读取,无法操作、更改工作项及配置,建议将只查看空间内容、不进行操作的用户设置为访客。 表1 企业模式内的权限 - 简单空间 企业空间 管理者 拥有生产环境管理中心的所有权限,包含连接配置、数据导入导出等。 增加了部署相关的新操作 进行管理中心的连接配置、环境隔离配置,数据导入导出等 进行数据开发配置,比如环境配置、调度身份配置、配置默认项等 开发者 拥有生产环境的作业及脚本开发的所有权限。 开发环境:所有操作 生产环境:只读操作 部署:增加了打包、查看发布项、查看发布项列表、查看发布包内容 环境信息配置:只读操作 部署者 无 查看发布包 查看发布项列表 发布包:只有部署者和管理者可以操作 撤销发布:只有部署者和管理者可以操作 运维者 拥有生产环境的作业及脚本实例的运行监控、运维调度等权限。 开发环境:只读操作 生产环境:所有操作 部署:查看发布包内容 环境信息配置:只读操作 访客 仅只读 仅只读 父主题: 企业模式角色操作
  • 企业模式对使用流程的影响 简单模式工作空间下,DataArts Studio数据开发组件以及对应管理中心组件无法设置开发环境和生产环境,只能进行简单的数据开发,无法对数据开发流程和表权限进行强管控。提交脚本或作业后,您无需发布,脚本或作业即可进入调度系统周期性执行,产出结果数据。 图7 简单模式流程 企业模式下,DataArts Studio数据开发组件以及对应管理中心组件的数据连接支持设置开发环境和生产环境,有效隔离开发者对生产环境业务的影响。其中:开发环境只针对开发人员开放,只用于脚本或作业开发,开发完后发布到生产环境中。生产环境内不能做任何修改,只对最终用户开放,任何修改必须回退到开发环境中重新修改发布。 图8 企业模式流程
  • 注意事项 不同工作空间模式对于数据湖引擎存在一定的要求,企业模式工作空间需要分别为开发环境和生产环境进行数据湖引擎配置,才可以实现开发生产环境隔离。配置开发生产环境隔离包含以下三种方式: 图1 配置开发生产环境隔离 配置两套数据湖服务,进行开发与生产环境隔离。 对于集群化的数据源(例如MRS、DWS、RDS、MySQL、Oracle、DIS、ECS等),DataArts Studio通过管理中心的创建数据连接区分开发环境和生产环境的数据湖服务,在开发和生产流程中自动切换对应的数据湖。因此您需要准备两套数据湖服务,且两套数据湖服务的版本、规格、组件、区域、VPC、子网以及相关配置等信息,均应保持一致,详细操作请参见创建DataArts Studio数据连接。 创建数据连接时,通过不同的集群来进行开发与生产环境的隔离,如图2所示。 图2 创建数据连接时选择不同集群 配置DLI环境隔离。 配置企业模式环境隔离,包含DLI队列配置和DB配置。 对于Serverless服务(例如DLI),DataArts Studio通过管理中心的环境隔离来配置生产环境和开发环境数据湖服务的对应关系,在开发和生产流程中自动切换对应的数据湖。因此您需要在Serverless数据湖服务中准备两套队列、两套数据库资源,建议通过名称后缀进行区分,详细操作请参见配置DataArts Studio企业模式环境隔离。 配置DB,在同一个数据湖服务下配置两套数据库,进行开发与生产环境隔离。 对于DWS、MRS Hive和MRS Spark这三种数据源,如果在创建数据连接时选择同一个集群,如图3所示,则需要配置数据源资源映射的DB数据库映射关系进行开发生产环境隔离,如图4所示。详细操作请参见DB配置。 图3 创建数据连接时选择同一个集群 图4 DB配置 企业模式工作空间下,开发环境的数据开发作业默认不进行调度,仅发布至生产环境后可进行调度。
  • 简单模式与企业模式介绍 简单模式:传统的DataArts Studio工作空间模式。简单模式工作空间下,DataArts Studio数据开发组件以及对应管理中心组件无法设置开发环境和生产环境,只能进行简单的数据开发,无法对数据开发流程和表权限进行强管控。一个数据湖作为DataArts Studio的生产环境。 图5 简单模式工作空间 企业模式:为解决简单模式存在的风险,DataArts Studio工作空间新增支持企业模式。企业模式下,DataArts Studio数据开发组件以及对应管理中心组件的数据连接支持设置开发环境和生产环境,有效隔离开发者对生产环境业务的影响。需要两个数据湖中,其中一个数据湖作为DataArts Studio开发环境,另一个作为DataArts Studio生产环境。其中: 开发环境只针对开发人员开放,只用于脚本或作业开发,开发完后发布到生产环境中。 生产环境内不能做任何修改,只对最终用户开放,任何修改必须回退到开发环境中重新修改发布。 图6 企业模式工作空间 您可选择创建任意模式工作空间体验DataArts Studio,使用企业模式工作空间实现DataArts Studio开发环境与生产环境代码隔离、不同环境计算资源隔离、权限隔离、任务发布流程管控等需求。 若您已在使用简单模式工作空间,并且希望保留当前简单模式工作空间的代码时,可选择工作空间模式升级,详情请参见创建企业模式工作空间。
  • 不同模式工作空间的优劣势对比 表3 不同模式工作空间的优劣势对比 对比 简单模式 企业模式 优势 简单、方便、易用。 仅需要授权数据开发人员“开发者”角色即可完成所有数据开发工作。 提交脚本或作业后,您无需发布,脚本或作业即可进入调度系统周期性执行,产出结果数据。 安全、规范。 具备安全、规范的代码发布管控流程(包含代码评审、代码DIFF查看等功能),保障生产环境稳定性,避免不必要的因代码逻辑引起的脏数据蔓延或任务报错等非预期情况。 数据访问得到有效管控,数据安全得以保障。 所有脚本或作业仅支持在开发环境编辑,开发者无法修改生产环境的脚本或作业。 开发环境和生产环境的数据隔离,开发者无法影响生产环境的数据。 开发环境下,脚本、作业以当前开发者的身份执行;生产环境下,脚本、作业则使用空间级的公共IAM账号或公共委托执行。 如果需要对生产环境进行变更,必须在开发环境通过开发者的发布操作才能将变更提交到生产环境,需要管理者或部署者审批通过,才能发布成功。 劣势 存在不稳定、不安全的风险。 无法设置开发环境和生产环境隔离,只能进行简单的数据开发。 无法对生产表权限进行控制。 说明: 开发调测阶段,开发者可直接访问生产数据湖的数据,随意对表进行增加、删除和修改等操作,存在数据安全风险。 无法对数据开发流程进行管控。 说明: 开发者可以不经过任何人审批,随时新增、修改脚本或作业并提交至调度系统,给业务带来不稳定因素。 流程相对复杂,一般情况下无法一人完成所有数据开发、生产流程。
  • 背景信息 本文内容由以下几部分构成,从不同角度分别为您解决企业模式不同的问题。 表1 了解企业模式 分类 说明 简单模式与企业模式介绍 不同工作空间模式的介绍。 不同模式工作空间对生产任务开发与运维的影响 DataArts Studio建立于对应工作空间物理属性之上的任务开发与运维机制介绍。 不同模式工作空间的优劣势对比 不同工作空间模式的优劣势对比。 企业模式对使用流程的影响 介绍企业模式工作空间下的流程管控。 不同工作空间模式下,DataArts Studio模块对应操作 简单模式仅有生产环境,企业模式有开发环境和生产环境,此部分为您介绍各个环境与DataArts Studio模块的对应关系。
  • 常用EL表达式样例合集 本章节介绍常用的EL表达式及示例。 表1 常用的EL表达式 方法 描述 示例 String getNodeStatus(String nodeName) 获取指定节点运行状态,成功状态返回success,失败状态返回fail。 例如,判断节点是否运行成功,可以使用如下判断条件,其中test为节点名称: #{(Job.getNodeStatus("test")) == "success" } 获取test节点运行状态。 #{Job.getNodeStatus("test")} String getNodeOutput(String nodeName) 获取指定节点的输出。此方法只能获取前面依赖节点的输出。 获取test节点输出。 #{Job.getNodeOutput("test")} 当前一节点执行无结果时,输出结果为“null”。 当前一节点的输出结果是一个字段时,输出结果形如[["000"]]所示。此时可通过EL表达式分割字符串结果,获取前一节点输出的字段值,但注意输出结果类型为String。需要输出原数据类型时,仍需通过For Each节点及其支持的Loop内嵌对象EL表达式获取。 #{StringUtil.split(StringUtil.split(StringUtil.split(Job.getNodeOutput("前一节点名"),"]")[0],"[")[0],"\\"")[0]} 当前一节点的输出结果是多个(两个及以上)字段时,输出结果形如[["000"],["001"]]所示。此时需要结合For Each节点及其支持的Loop内嵌对象EL表达式如#{Loop.current[0]},循环获取输出结果,详见获取SQL节点的输出结果值。 String getParam(String key) 获取作业参数。 注意此方法只能直接获取当前作业里配置的参数值,并不能获取到父作业传递过来的参数值,也不能获取到工作空间里面配置的全局变量,作用域仅为本作业。 这种情况下建议使用表达式${job_param_name},既可以获取到父作业传递过来的参数值,也可以获取到全局配置的变量。 获取参数test的值: #{Job.getParam("test")} String getPlanTime(String pattern) 获取指定pattern的计划时间字符串,pattern为日期、时间模式,请参考日期和时间模式。 获取作业调度计划时间,具体到毫秒: #{Job.getPlanTime("yyyy-MM-dd HH:mm:ss:SSS")} String getYesterday(String pattern) 获取执行pattern的计划时间前一天的时间字符串,pattern为日期、时间模式,请参考日期和时间模式。 获取作业调度计划时间的前一天的时间,具体到日期: #{Job.getYesterday("yyyy-MM-dd HH:mm:ss:SSS")} String getLastHour(String pattern) 获取执行pattern的计划时间前一小时的时间字符串,pattern为日期、时间模式,请参考日期和时间模式。 获取作业调度计划时间前一小时的时间,具体到小时: #{Job.getLastHour("yyyy-MM-dd HH:mm:ss:SSS")} Date addDays(Date date, int amount) 给date添加指定天数后,返回新Date对象,amount可以是负数。 将作业调度计划减一天的时间,转换为年月日格式。 #{DateUtil.format(DateUtil.addDays(Job.planTime,-1),"yyyy-MM-dd")} int getDay(Date date) 从date获取天,例如:date为2018-09-14,则返回14。 从作业调度计划获取具体的天。 #{DateUtil.getDay(Job.planTime)} Date now() 返回当前时间。 以秒格式返回当前的时间。 #{DateUtil.format(DateUtil.now(),"yyyy-MM-dd HH:mm:ss")} Object path(String jsonStr,String jsonPath) 返回json字符串指定路径下的字段值。类似于XPath,path方法可以通过路径检索或设置JSON,其路径中可以使用.或[]等访问成员、数值,例如:tables[0].table_name。 字符串变量str的内容如下: { "cities": [{ "name": "city1", "areaCode": "1000" }, { "name": "city2", "areaCode": "2000" }, { "name": "city3", "areaCode": "3000" }] } 获取city1的电话区号,EL表达式如下: #{JSONUtil.path(str,"cities[0].areaCode")} current For Each节点在处理数据集的时候,是一行一行进行处理的。Loop.current表示当前遍历到的For Each节点“数据集”中定义的二维数组的某一行,该数据行为一维数组。 一般定义格式为#{Loop.current[0]}、#{Loop.current[1]}或其他。其中[0]表示遍历到的当前行的第一个值,[1]表示遍历到的当前行的第二个值,以此类推。 作为For Each节点的“子作业参数”取值,表示For Each循环遍历中,取“数据集”中二维数组的当前遍历行的第二个值。 #{Loop.current[1]} 父主题: EL表达式参考
  • 前提条件 已新增Python脚本,请参见新建脚本。 已新建主机连接,该Linux主机配有用于执行Python脚本的环境。新建主机连接请参见主机连接参数说明。 连接主机的用户需要具有主机/tmp目录下文件的创建与执行权限。 Shell或Python脚本可以在该ECS主机上运行的最大并发数由ECS主机的/etc/ssh/sshd_config文件中MaxSessions的配置值确定。请根据Shell或Python脚本的调度频率合理配置MaxSessions的值。 当前用户已锁定该脚本,否则需要通过“抢锁”锁定脚本后才能继续开发脚本。新建或导入脚本后默认被当前用户锁定,详情参见编辑锁定功能。
  • 离线资源管理 离线资源管理为您提供查看当前DataArts Studio实例下所有CDM集群的功能,并支持为CDM集群关联不同的工作空间。 只有当CDM集群在关联了工作空间后,才能在所关联的工作空间中使用该CDM集群。 参考访问DataArts Studio实例控制台,以 Administrator或Tenant Administrator账号登录DataArts Studio管理控制台。 单击控制台的“资源管理”页签,进入资源管理页面。 在默认的离线资源管理页签,您可以查看当前实例下的所有CDM集群及其状态、内网地址、公网地址等信息。 单击CDM集群列表中集群名称列的按钮开,可查看该CDM集群的详情信息,例如可用区、虚拟私有云、子网和安全组等网络相关信息,以及规格、集群ID、关联的工作空间等信息。 图1 查看集群详情信息 您可以单击CDM集群列表中操作列的“关联工作空间”,在弹窗中勾选或去勾选该CDM集群关联的工作空间,单击确认即可完成CDM集群与工作空间的关联。 注意,只有当CDM集群在关联了工作空间后,才能在所关联的工作空间中使用该CDM集群。 图2 关联工作空间
  • 实时集成作业监控:查看作业详细信息 单击作业名称,可以查看该作业的详细信息。 选择“基本信息”,查看该作业的基本信息。 选择“监控信息”,查看该作业的监控信息。 单击“查看监控指标”,进入 云监控服务 界面查看该作业的相关监控指标。 单击“创建告警规则”,进入 云监控 服务的创建告警规则界面,创建该作业的告警规则。 查看已创建的告警规则,包含“名称/ID”、“告警策略”。 查看作业同步进度信息。 选择“日志信息”,查看该作业的详细日志信息,对日志进行下载。
  • 未合理配置基线承诺时间和预警余量的场景示例 如果基线承诺时间和预警余量设置不合理,可能会造成基线破线,进而导致基线预警不符合预期。 场景一:当基线承诺时间与基线上任务最晚完成时间相同,且基线未设置预警余量。 任务出现异常时,因为没有预留异常处理时间,容易造成基线破线,基线报警频繁。 场景二:当预警余量设置不合理,即基线预警时间(基线承诺时间-余量)在基线上任务最晚完成时间段内。 任务出现异常时,因为预留的异常处理时间不够,容易造成基线破线,基线报警频繁。 场景三:当基线承诺时间设置不合理,即基线承诺时间设置在基线上任务最晚完成时间之前。 任务将无法在基线承诺时间内完成,基线预警功能会在当天零点进行提前预警。
  • 告警类型 基线预警 基线监控的链路上,首个没有在预警时间(任务节点粒度)完成的任务节点。 基线破线 基线破线报警需满足以下两个条件: 任务节点的上游(包含直接和间接上游)没有出现过破线 该任务没有在承诺时间节点完成 破线加剧 执行变慢导致破线加剧报警触发需满足以下两个条件: 任务所在链路已发送首次“基线破线”报警 任务运行耗时相较于预测运行耗时有所增加,具体来说: 保障任务预警时间未完成 基线预警时间到达(承诺时间-预警余量),检查基线所有保障任务是否完成运行,若有保障任务未运行完成,则触发报警。相同保障任务只报一次。 保障任务承诺时间未完成 基线承诺时间到达,检查基线所有保障任务是否完成运行,若有保障任务未运行完成,则触发报警。相同保障任务只报一次。 任务失败事件 基线监控链路上,任意任务失败或因为错误配置停止调度,则触发失败事件。
  • 配置YASHAN源端参数 作业中源连接从YASHAN导出的数据时,源端作业参数如表1所示。 表1 YASHAN作为源端时的作业参数 参数类型 参数名 说明 取值样例 基本参数 使用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 高级属性 Where子句 “使用SQL语句”选择“否”时,显示该参数,表示配置抽取范围的Where子句,不配置时抽取整表。 该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。 说明: 如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。 DS='${dateformat(yyyy-MM-dd,-1,DAY)}' date类型值是否保留一位精度 date类型值是否保留一位精度。 否 抽取分区字段 “使用SQL语句”选择“否”时,显示该参数,表示抽取数据时使用该字段进行数据切分,CDM依据此字段将作业分割为多个任务并发执行。一般使用数据均匀分布的字段,例如以自然增长的序号字段作为分区字段。 单击输入框后面的按钮可进入字段选择界面,用户也可以直接输入抽取分区字段名。 说明: 抽取分区字段支持TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP类型,建议该字段带有索引。 id 分区字段含有空值 是否允许分区字段包含空值。 多并发抽取时,若确定分区字段不含Null,将该值设为“否”可提升性能,若不确定,请设为“是”,否则可能会丢数据。 否 拆分作业 选择“是”,会根据“作业拆分字段”值,将作业拆分为多个子作业并发执行。 说明: 仅支持目的端为DLI和Hive时配置该参数及作业拆分字段、拆分字段最小值、拆分字段最大值、子作业个数参数。 否 作业拆分字段 “拆分作业”选择“是”时,显示该参数,使用该字段将作业拆分为多个子作业并发执行。 - 拆分字段最小值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最小值。 - 拆分字段最大值 “拆分作业”选择“是”时,显示该参数,表示抽取数据时“作业拆分字段”的最大值。 - 子作业个数 “拆分作业”选择“是”时,显示该参数,根据“作业拆分字段”的最小值和最大值限定的数据范围,将作业拆分为多少个子作业执行。 - 父主题: 配置CDM作业源端参数
  • YASHAN连接参数说明 连接YASHAN时,相关参数如表1 YASHAN连接参数所示。 作业运行中禁止修改密码或者更换用户。在作业运行过程中修改密码或者更换用户,密码不会立即生效且作业会运行失败。 表1 YASHAN连接参数 参数名 说明 取值样例 名称 连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。 yashan_link 数据库服务器 配置为要连接的数据库的IP地址或域名。 单击输入框后的“选择”,可获取用户的实例列表。 192.168.0.1 端口 配置为要连接的数据库的端口。 1688 数据库名称 配置为要连接的数据库名称。 dbname 用户名 待连接数据库的用户。该数据库用户需要有数据表的读写权限,以及对元数据的读取权限。 cdm 密码 用户名密码。 - 使用Agent Agent功能待下线,无需配置。 - Agent Agent功能待下线,无需配置。 - 引用符号 可选参数,连接引用表名或列名时的分隔符号,参考对应数据库的产品文档进行配置。 " 驱动版本 不同类型的关系数据库,需要适配不同的驱动,更多详情请参见如何获取驱动。 - 单次请求行数 可选参数,单击“显示高级属性”后显示。 指定每次请求获取的行数,根据数据源端和作业数据规模的大小配置该参数。如果配置过大或过小,可能影响作业的时长。 1000 SSL加密 可选参数,单击“显示高级属性”后显示。 支持启用SSL加密传输。 是 连接属性 可选参数,单击“添加”可增加多个指定数据源的JDBC连接器的属性,参考对应数据库的JDBC连接器说明文档进行配置。 常见配置举例如下: socketTimeout:配置JDBC连接超时时间,单位为毫秒。 mysql.bool.type.transform:配置mysql读取时,是否将tinyint(1)解析成boolean类型,默认为true。 socketTimeout=300 连接私密属性 自定义私密连接属性。 xxx=xxx 父主题: 配置连接参数
共100000条