加入收藏 | 设为首页 | 会员中心 | 我要投稿 均轻资讯网 (https://www.junqingwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

数据开发:开发者

发布时间:2022-10-12 11:21:50 所属栏目:大数据 来源:
导读:  本文以使用MaxCompute计算引擎,在DataWorks上运行MaxCompute作业任务为例,为您介绍开发人员如何使用数据开发(DataStudio)创建一个周期调度任务,帮助您快速了解数据开发(DataStudio)模块的基本使用。
  本文以使用MaxCompute计算引擎,在DataWorks上运行MaxCompute作业任务为例,为您介绍开发人员如何使用数据开发(DataStudio)创建一个周期调度任务,帮助您快速了解数据开发(DataStudio)模块的基本使用。
 
  前提条件
 
  已完成开发前的环境准备,详情请参见。
 
  说明
 
  背景信息
 
  DataWorks的数据开发(DataStudio)面向各引擎(MaxCompute、Hologres、EMR、CDH等)提供可视化开发界面,包括智能代码开发、数据清洗加工、规范化任务开发与发布等,保证数据开发的高效与稳定。更多数据开发模块的使用,详情请参见。
 
  通常,写入原始业务数据至DataWorks,并加工为最终结果表的过程如下:在DataWorks创建多个数据表。例如:创建同步任务,将业务数据同步至上述源表。创建计算节点,对同步任务产出的表数据进行清洗、逐层加工,并将每层结果写入对应结果表。您也可以在创建表后,使用直接上传方式,将本地数据上传至DataWorks的源表,再通过计算节点进行清洗加工,将加工后的数据存储至结果表。本文使用直接上传本地数据,并通过计算类型节点清洗该表数据为例进行说明。
 
  进入数据开发登录DataWorks控制台。在左侧导航栏,单击工作空间列表。选择工作空间所在地域后,单击相应工作空间后的数据开发。操作流程
 
  数据开发基于业务流程组织与开发代码,您需要先新建业务流程,才可进行后续的开发工作。
 
  DataWorks支持使用可视化方式创建表,并以目录结构方式在界面展示。数据开发前,您需先在引擎创建用于接收数据清洗结果的表。
 
  DataWorks基于节点进行任务开发,不同类型的引擎任务在DataWorks上被封装为不同类型的节点。您可根据业务需要,选择合适的节点进行引擎任务开发。
 
  根据节点类型,在节点编辑页面通过对应数据库的语法编写业务代码。
 
  用于定义该节点的调度相关属性,周期性调度运行节点。
 
  您可使用DataWorks提供的代码片段快捷运行、运行、高级运行三种方式调试代码,验证代码逻辑是否正确。
 
  节点调试无误后,您需要保存并提交节点。
 
  为保障生产任务高效运行,避免计算资源浪费。任务发布上线前,您可将任务提交至开发环境进行冒烟测试,保障任务的正确性。
 
  DataWorks仅支持自动调度发布至生产环境的任务,因此在冒烟测试无误后,您需将任务发布至生产环境调度系统进行周期调度。
 
  步骤一:新建业务流程
 
  DataWorks以业务流程为中心组织数据开发,通过各类型开发节点的容器看板,将相关工具、优化及管理操作围绕看板对象进行组织,使开发管理更加方便智能。您可根据业务需求,将同类型业务统一放置一个业务流程。
 
  。创建业务流程。
 
  您可使用如下两种方式创建:
 
  配置业务流程的名称及描述,单击新建。
 
  本文示例创建名为创建第一个周期调度任务的业务流程。实际开发时,请根据您的业务进行规划。
 
  说明 更多业务流程的使用,详情请参见。
 
  步骤二:新建表DataWorks的数据开发节点会对您的源数据进行清洗加工,因此,您需先在引擎创建用于接收数据清洗结果的表,并定义表结构。创建表。在步骤一创建的业务流程中,展开子目录,右键单击MaxCompute > 表,选择新建表。配置表名称、引擎实例等信息。
 
  本文示例分别创建如下两种表。表名称描述
 
  bank_data
 
  用于存储原始业务数据。
 
  result_table
 
  用于存储数据清洗后的结果。
 
  说明
 
  配置表结构。
 
  进入表编辑页面,切换至DDL模式,通过DDL语句配置表结构。生成表结构后,在基本属性区域输入表的中文名,并分别单击工具栏的提交到开发环境和提交到生产环境提交表。
 
  说明 您也可以使用可视化方式,根据业务需求及界面引导配置所需表结构。可视化建表,详情请参见。
 
  生成bank_data表结构的参考语句如下。
 
  CREATE TABLE IF NOT EXISTS bank_data
  (
   age             BIGINT COMMENT '年龄',
   job             STRING COMMENT '工作类型',
   marital         STRING COMMENT '婚否',
   education       STRING COMMENT '教育程度',
   default         STRING COMMENT '是否有信用卡',
   housing         STRING COMMENT '房贷',
   loan            STRING COMMENT '贷款',
   contact         STRING COMMENT '联系途径',
   month           STRING COMMENT '月份',
   day_of_week     STRING COMMENT '星期几',
   duration        STRING COMMENT '持续时间',
   campaign        BIGINT COMMENT '本次活动联系的次数',
   pdays           DOUBLE COMMENT '与上一次联系的时间间隔',
   previous        DOUBLE COMMENT '之前与客户联系的次数',
  贵阳大数据开发招聘_大数据开发面试题目_大数据开发
 
 
   poutcome        STRING COMMENT '之前市场活动的结果',
   emp_var_rate    DOUBLE COMMENT '就业变化速率',
   cons_price_idx  DOUBLE COMMENT '消费者物价指数',
   cons_conf_idx   DOUBLE COMMENT '消费者信心指数',
   euribor3m       DOUBLE COMMENT '欧元存款利率',
   nr_employed     DOUBLE COMMENT '职工人数',
   y               BIGINT COMMENT '是否有定期存款'
  );
  生成result_table表结构的参考语句如下。
 
  CREATE TABLE IF NOT EXISTS result_table
  (  
   education   STRING COMMENT '教育程度',
   num         BIGINT COMMENT '人数'
  );
  上传数据。
 
  将原始业务数据存储至DataWorks的表(本文示例为bank_data表)中。本文示例采用直接上传方式,导入本地文件banking.txt至DataWorks,通过上传数据模拟实际数据写入情况。操作图示如下。
 
  更多上传数据内容,请参考。
 
  步骤三:新建节点
 
  根据业务需求,选择合适的节点类型进行开发。
 
  说明 目前DataWorks的节点分为数据同步类型节点与计算类型节点两大类,实际开发过程中,您通常需要先通过离线同步任务将业务数据库中的数据同步至数仓中,再通过DataWorks计算节点对数仓中的表数据进行清洗加工。
 
  创建节点。
 
  您可通过如下两种方式创建:
 
  配置节点引擎实例、名称等信息。
 
  本文示例创建名为result_table(与步骤二创建的结果表名称相同)的ODPS SQL节点。
 
  说明 使用DataWorks节点进行数据开发时,通过开发节点清洗数据,再将清洗结果存放至结果表。建议您将结果表名称作为节点的名称,以便快速定位该节点产出的表数据。
 
  步骤四:编辑节点
 
  在业务流程目录树或业务流程面板中找到步骤三创建的节点,双击进入节点编辑页面。根据节点类型,通过对应数据库的语法编写业务代码。
 
  本文示例在result_table节点中,将bank_data表中指定分区的数据写入result_table表对应的分区中,并通过变量(day、hour)定义写入的分区。
 
  说明
 
  代码参考如下。
 
  INSERT OVERWRITE TABLE result_table partition (day='${day}', hour='${hour}')
  SELECT education
      , COUNT(marital) AS num
  FROM bank_data
  WHERE  day='${day}' and hour='${hour}'
  GROUP BY education;
  步骤五:定义节点调度属性
 
  通过定义节点的调度相关属性,实现周期调度运行目标节点。在节点编辑页面右侧导航栏的调度配置,根据业务需求配置相关属性。参数描述
 
  节点的名称、ID、类型、责任人会自动展示,此处无需单独配置。
 
  说明
 
  用于定义节点调度时使用的参数。
 
  DataWorks提供内置参数及相关自定义参数,可供任务调度时实现参数动态赋值。若步骤四编辑代码时定义了变量,您可在此处对该变量进行赋值。
 
  本文示例为步骤四的如下变量赋值,用于将bank_data表中业务时间(即昨天)对应的小时数据写入result_table对应的小时分区:
 
  通过调度配置的时间属性,配置节点生成周期实例的方式,实例调度周期与执行时间,是否支持重跑,任务执行超过多长时间自动退出等。
 
  说明 您需配置节点的重跑属性后才可提交节点。
 
  本文示例设置result_table节点00:00开始运行大数据开发,每小时调度一次,即每小时将bank_data表中业务时间(即昨天)对应的小时数据写入result_table表对应的小时分区中。
 
  用于配置任务发布至生产调度时使用的调度资源组。本文示例使用开通DataWorks时默认提供的公共调度资源组。
 
  说明 在任务高并发执行且无法错峰运行的情况下,需要专有的计算资源来保障任务定时被调度运行时,建议您选择购买使用DataWorks的独享调度资源组。详情请参见。
 
  用于定义节点调度的上下游依赖关系。建议您根据血缘关系来设置节点依赖,通过上游任务执行成功来确定当前节点依赖的表数据已顺利产出,当前节点可正常查询该上游表数据。
 
  说明
 
  本文示例,假设result_table节点查询的bank_data表为非当前业务流程产出的表数据,则需将工作空间根节点配置为result_table节点依赖的上游节点,由根节点调度result_table节点运行。
 
  用于定义节点上下游间的参数传递,实现下游节点通过参数获取上游节点传递过来的取值。
 
  说明 该功能通常与赋值节点或赋值参数配合使用。
 
  步骤六:调试代码
 
  您可使用如下方式调试代码逻辑,保障代码编写的正确性。方式使用说明选择建议
 
  用于快速运行选中的代码片段。
 
  需要快捷运行代码片段时,可选择此方式。
 
  工具栏:运行(
 
  )
 
  支持为代码指定测试场景下的变量赋值常量。
 
  说明 新建的节点第一次单击运行时,需要您在弹框中手动为代码中变量赋值常量,此次赋值会被记录,下次操作无需再重复赋值。
 
  若您需要频繁调试全量代码,可选择此方式。
 
  工具栏:高级运行(
 
  )
 
  每次单击此按钮都需为指定测试场景下的变量赋值常量。
 
  若您需要修改代码中的变量赋值,可选择此方式。
 
  本文示例使用高级运行测试2022.09.07 14:00的运行结果。
 
  步骤七:保存并提交节点
 
  节点配置并测试完成后,您需要保存节点配置,并提交节点至开发环境。
 
  说明 仅当节点在步骤五中配置了重跑属性及依赖的上游节点后才可提交。
 
  单击工具栏的
 
  图标,保存节点配置。单击工具栏的
 
  图标,提交节点至开发环境。步骤八:冒烟测试
 
  为保障生产任务高效运行,避免计算资源浪费,建议您在任务发布前先对任务进行冒烟测试。冒烟测试需在开发环境执行,因此您需将节点提交至开发环境,提交后:单击工具栏中的
 
  图标,在冒烟测试弹框配置业务日期。冒烟测试执行完成后,单击工具栏的
 
  图标,查看测试结果。
 
  本文示例测试调度参数配置是否符合预期。result_table调度节点00:00到23:59每小时执行一次,因此下图配置中将生成两个小时实例,实例定时运行时间分别为00:00、01:00。
 
  说明
 
  步骤九:发布任务
 
  若当前工作空间为简单模式工作空间,任务提交后便可周期性调度;若当前工作空间为标准模式工作空间,任务提交后仅处于待发布状态,您需参考该步骤将任务发布生产,发布后该任务才可进行周期性调度。
 
  说明
 
  在标准模式工作空间下,数据开发(DataStudio)界面提交的操作(包括数据开发节点、资源、函数的新增、更新、删除等)都将进入任务发布界面等待发布。您需进入任务发布 > 创建发布包将相关操作通过发布流程发布至生产环境,发布后才可生效。发布详情请参见。
 
  发布流程相关说明如下。发布相关说明
 
  发布流程管控
 
  发布操作受角色权限和流程控制约束,执行发布操作后请确保发布包状态为成功。
 
  说明
 
  发布生效时间控制
 
  全量转实例时间(23:30~24:00)执行的发布操作第三天周期实例才会生效。
 
  说明 该限制针对T+1次日生成和发布后即时生成实例生成方式均生效。实例生成方式,详情请参见。
 
  后续步骤
 
  您可进入运维中心 > 周期任务运维查看发布至生产环境的离线调度任务,并执行相关运维操作。详情请参见。
 

(编辑:均轻资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!