DataWorks快速入门

2023-11-29 15:38
文章标签 入门 快速 dataworks

本文主要是介绍DataWorks快速入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

快速入门

入门概述

说明

  • 如果您是第一次使用DataWorks,请确认已经根据准备工作模块的操作,准备好账号和工作空间角色等内容后,登录DataWorks控制台,单击相应工作空间后的进入数据开发,即可进行数据开发操作。
  • 本模块的操作在标准模式的工作空间下进行。如果您使用的是简单模式的工作空间,操作步骤同标准模式。但在提交任务时,不会区分开发环境和生产环境。

通常,通过DataWorks的工作空间实现数据开发和运维包含以下操作:

1.建表并上传数据
2.创建业务流程
3.创建同步任务
4.设置周期和依赖
5.运行及排错
6.使用临时查询快速查询SQL(可选)

下图为数据开发和运维的基本流程。

请添加图片描述

建表并上传数据

以创建表bank_data和result_table为例,为您介绍如何通过DataWorks创建表并上传数据。

前提条件

您在工作空间配置页面添加MaxCompute计算引擎实例后,当前页面才会显示MaxCompute目录。详情请参见配置工作空间。

背景信息

表bank_data用于存储业务数据,表result_table用于存储数据分析后产生的结果。

创建表bank_data

1.进入数据开发页面。

  • 登录DataWorks控制台。
  • 在左侧导航栏,单击工作空间列表
  • 选择工作空间所在地域后,单击相应工作空间后的进入数据开发。

2.在数据开发页面,鼠标悬停至新建图标,单击MaxCompute> 表

请添加图片描述

您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > 表

3.在新建表对话框中,输入表名bank_data,单击提交

注意

  • 表名不能超过64个字符,且必须以字母开头,不能包含中文或特殊字符。
  • 如果绑定多个实例,则需要选择MaxCompute引擎实例。

4.在表的编辑页面,单击DDL模式

5.在DDL模式对话框中,输入如下建表语句,单击生成表结构

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 '是否有定期存款'
);

创建表的更多SQL语法请参见创建和查看表。

6.在确认操作对话框中,单击确认

7.生成表结构后,在基本属性模块输入表的中文名,并分别单击提交到开发环境提交到生产环境

说明 本示例以标准模式的工作空间为例。如果您使用的是简单模式的工作空间,仅单击提交到生产环境即可。

8.在左侧导航栏,单击表管理

9.在表管理页面,双击打开相应的表名,查看表信息。

创建表result_table

  1. 数据开发页面,鼠标悬停至新建图标,单击MaxCompute> 表。您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > 表
  2. 新建表对话框中,输入表名result_table,单击提交
  3. DDL模式对话框中,输入如下建表语句,单击生成表结构
CREATE TABLE IF NOT EXISTS result_table
(  education   STRING COMMENT '教育程度',num         BIGINT COMMENT '人数'
);
  1. 确认操作对话框中,单击确认
  2. 生成表结构后,在基本属性区域输入表的中文名,并分别单击提交到开发环境提交到生产环境
  3. 在左侧导航栏,单击表管理
  4. 表管理页面,双击打开相应的表名,查看表信息。

本地数据上传至bank_data

DataWorks支持以下操作:

  • 上传本地的文本文件至工作空间的表中。
  • 通过数据集成模块,从多个不同的数据源导入业务数据至工作空间。

说明 本地文本文件上传的限制如下:

  • 文件类型:仅支持**.txt**、.csv和**.log**类型的文件。
  • 文件大小:不能超过30 MB。
  • 操作对象:支持分区表导入和非分区表导入,但不支持分区值为中文。

以导入本地文件banking.txt至DataWorks为例,操作如下:

  1. 数据开发页面,单击导入图标。

请添加图片描述

  1. 数据导入向导对话框中,至少输入3个字母来搜索需要导入数据的表,单击下一步

  2. 选择数据导入方式上传本地数据,单击选择文件后的浏览…。选择本地数据文件,配置导入信息。

请添加图片描述

请添加图片描述

  1. 单击下一步

  2. 选择目标表字段与源字段的匹配方式,本示例选择按位置匹配

  3. 单击导入数据

创建业务流程

前提条件

开始本操作前,请确保您已经在工作空间中准备好业务数据表bank_data和其中的数据,以及结果表result_table。详情请参见建表并上传数据。

创建业务流程

  1. 登录DataWorks控制台。

  2. 在左侧导航栏,单击工作空间列表

  3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发

  4. 数据开发页面,鼠标悬停至新建图标,单击业务流程

  5. 新建业务流程对话框中,输入业务名称描述

    注意 业务名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。

  6. 单击新建

创建节点并配置依赖关系

在业务流程中创建一个虚拟节点(start)和ODPS SQL节点(insert_data),并配置依赖关系为insert_data依赖于start。

注意

  • 虚拟节点属于控制类型节点,在业务流程运行过程中,不会对数据产生任何影响,仅用于实现对下游节点的运维控制。
  • 虚拟节点在被其它节点依赖的情况下,如果被运维人员手动设置为运行失败,则下游未运行的节点将因此无法被触发运行。在运维过程中,可以防止上游的错误数据进一步扩展。
  • 业务流程中,虚拟节点的上游节点通常会被设置为工作空间根节点。工作空间根节点的格式为工作空间名称_root
  • DataWorks会为节点自动添加一个节点名的输出,结构为工作空间名称.节点名称。如果一个工作空间下有两个同名的节点,请修改其中一个节点的节点输出。

建议您在设计业务流程时,默认创建一个虚拟节点作为业务流程的根节点,来控制整个业务流程。设计业务流程的操作如下:

  1. 双击业务流程名称进入开发面板,鼠标单击虚拟节点并拖拽至右侧的开发面板。

    请添加图片描述

  2. 新建节点对话框中,输入节点名称start,单击提交

    注意 节点名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。

  3. 以同样的操作新建ODPS_SQL节点,命名为insert_data

  4. 通过拖拽连线,设置start节点为insert_data节点的上游节点。

请添加图片描述

配置虚拟节点的上游依赖

在业务流程中,虚拟节点通常作为整个业务流程的控制器,是业务流程中所有节点的上游节点。

通常使用工作空间根节点作为虚拟节点依赖的上游节点

  1. 双击虚拟节点名称,进入节点的编辑页面。

  2. 单击节点编辑页面右侧的调度配置

  3. 调度依赖区域,单击使用工作空间根节点,设置虚拟节点的上游节点为工作空间根节点。

    请添加图片描述

  4. 单击工具栏中的保存图标。

编辑和运行ODPS SQL节点

本节将在ODPS_SQL节点insert_data中,通过SQL代码,查询不同学历的单身人士贷款买房的数量并保存结果,以便后续节点继续分析或展现。

  1. 打开ODPS SQL节点的编辑页面,输入下述代码。

    具体语法说明请参见SQL概述

    INSERT OVERWRITE TABLE result_table  --插入数据至result_table中。
    SELECT education, COUNT(marital) AS num
    FROM bank_data
    WHERE housing = 'yes'AND marital = 'single'
    GROUP BY education
    
  2. 右键单击代码中的bank_data,选中删除输入

    建表并上传数据中创建的bank_data表为非周期性调度产出的表,当有节点select该表数据时,需要手动删除通过select生成的自动解析配置结果(即@exclude_input=bank_data),以保障调度节点定时更新的表数据,通过节点调度依赖保障下游取数无误。

    请添加图片描述

  3. 单击工具栏中的保存图标,防止代码丢失。

  4. 单击运行图标。

    运行结束后,即可在页面下方查看运行日志和结果。

提交业务流程

  1. 运行并调试ODPS_SQL节点insert_data后,返回业务流程页面。

  2. 单击提交图标。

  3. 提交对话框中,选择需要提交的节点,输入备注,并选中忽略输入输出不一致的告警

  4. 单击提交

    业务流程提交后,即可在业务流程下的节点列表查看节点提交状态。如果节点名称左侧存在圆圈图标,表示该节点已提交;如果不存在圆圈图标,表示该节点未提交。

创建同步任务

前提条件

您需要首先通过RDS创建MySQL实例,获取RDS实例ID,并在RDS控制台添加白名单。详情请参见创建RDS MySQL实例。

说明 如果是通过自定义资源组调度RDS的数据同步任务,必须把自定义资源组的机器IP也加入RDS的白名单中。

背景信息

在DataWorks中,通常通过数据集成功能,定期导入系统中产生的业务数据至工作区。SQL任务进行计算后,再定期导出计算结果至您指定的数据源中,以便进一步展示或运行使用。

请添加图片描述

目前数据集成功能支持从RDS、MySQL、SQL Server、PostgreSQL、MaxCompute、OCS、DRDS、OSS、Oracle、FTP、DM、HDFS和MongoDB等数据源中,导入数据至工作空间或从工作空间导出数据。详细的数据源类型列表请参见支持的数据源与读写插件。

新增数据源

说明 仅项目管理员角色可以新建数据源,其它角色的成员仅支持查看数据源。

  1. 进入数据源管理页面。

    1. 登录DataWorks控制台。
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据集成
    4. 在左侧导航栏,单击数据源,进入工作空间管理 > 数据源管理页面。
  2. 数据源管理页面,单击右上角的新增数据源

  3. 新增数据源对话框中,选择数据源类型为MySQL

  4. 新增MySQL数据源对话框,配置各项参数。

    此处以创建阿里云实例模式类型为例。

    请添加图片描述

请添加图片描述

  1. 数据集成页签下,单击相应资源组后的测试连通性

    数据同步时,一个任务只能使用一种资源组。您需要测试每种资源组的连通性,以保证同步任务使用的数据集成资源组能够与数据源连通,否则将无法正常执行数据同步任务。如果您需要同时测试多种资源组,请选中相应资源组后,单击批量测试连通性。详情请参见数据源测试连通性。

  2. 测试连通性通过后,单击完成

确认作为目标的MySQL数据库中有表

在MySQL数据库中创建表odps_result

CREATE TABLE `ODPS_RESULT` (
`education`  varchar(255) NULL ,
`num`  int(10) NULL 
);

建表完成后,您可以执行desc odps_result;语句,查看表详情。

新建并配置同步节点

本节将新建一个同步节点write_result并进行配置,目的是把表result_table中的数据写入至自己的MySQL数据库中。具体操作如下:

  1. 切换至数据开发面板,新建一个离线同步节点write_result

  2. 设置write_result节点的上游节点为insert_data节点。

    请添加图片描述

  3. 选择数据源(ODPS > odps_first)、**表(result_table)**为数据来源。

  4. 选择您新建的MySQL数据源中的表(odps_result)为数据去向。

    请添加图片描述

  5. 选择字段的映射关系,左侧的源头表字段和右侧的目标表字段为一一对应关系。

  6. 通道控制区域,配置作业速率上限和脏数据检查规则。

请添加图片描述

  1. 预览保存。

    完成上述配置后,上下滚动鼠标即可查看任务配置。确认无误后,单击工具栏中的保存图标。

提交数据同步任务

同步任务保存后,返回业务流程。单击工具栏中的提交图标,提交同步任务至调度系统中。调度系统会根据配置的属性,从第二天开始自动定时执行。

配置调度和依赖属性

前提条件

请确保您已创建任务write_result,详情请参见创建同步任务。

配置调度属性

  1. 进入数据开发页面。

    1. 登录DataWorks控制台。
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 在相应的业务流程下,双击打开离线同步节点write_result的编辑页面。

  3. 单击编辑页面右侧的调度配置

    说明 手动业务流程中创建的节点需要手动触发,无法通过调度执行。

  4. 时间属性区域,配置节点的调度属性。

请添加图片描述

请添加图片描述

配置依赖属性

依赖属性中可以配置节点的上游依赖,表示即使当前节点的实例已经到定时时间,也必须等待上游节点的实例运行完毕,才会触发运行。

例如,当前节点的实例将在上游insert_data节点的实例运行完毕后,才会触发执行。

在调度系统中,每一个工作空间中默认会创建一个工作空间名称_root节点作为根节点。如果本节点没有上游节点,可以直接依赖根节点。

提交节点

  1. write_result节点的编辑页面,单击工具栏中的保存图标。

  2. 提交节点。

    注意 您需要设置节点的重跑属性依赖的上游节点,才可以提交节点。

    1. 单击工具栏中的提交图标。
    2. 提交新版本对话框中,输入备注
    3. 单击确认

    如果您使用的是标准模式的工作空间,提交成功后,请单击右上角的发布。具体操作请参见发布任务。

    节点只有提交至调度系统中,才会从第二天开始,自动根据调度属性配置的周期,在各时间点生成实例,并定时运行。

    说明 如果是23:30以后提交的节点,则调度系统从第3天开始,才会自动周期生成实例并定时运行。

运行及排错

在设置周期和依赖的操作中,您配置了每周二凌晨2点执行离线同步节点。提交节点后,需要到第2天才能看到调度系统自动执行的结果。DataWorks为您提供测试运行、补数据和周期运行三种触发方式,帮助您确认实例运行的定时时间、相互依赖关系、数据结果产出是否符合预期。

说明 手动触发和自动调度的调度系统与周期生成实例的规则一致:

  • 无论周期选择小时、分钟、日、月或周,节点在每一个日期都会生成对应的实例。
  • 仅在指定日期的对应实例,会定时运行并生成运行日志。
  • 非指定日期的对应实例不会实际运行,而是在满足运行条件时,将状态直接转换为成功,因此不会有运行日志生成。

测试运行

  1. 单击当前页面左上角的图标,选择全部产品 > 运维中心(工作流),进入运维中心页面。

  2. 在左侧导航栏,单击周期任务运维 > 周期任务

  3. 单击相应节点列表后的测试

  4. 冒烟测试对话框中,输入冒烟测试名称,并选择业务日期,单击确定

  5. 自动跳转至测试实例页面,单击相应的实例,即可在右侧查看实例DAG图。

    右键单击实例,您可以查看该实例的依赖关系和详细信息,并进行终止运行、重跑等具体操作。

    说明

    • 测试运行是手动触发节点,只要到定时的时间,立即运行,自动忽略实例的上游依赖关系。
    • 根据前文所述的实例生成规则,配置为每周二凌晨2点运行的节点write_result,测试运行时选择的业务日期是周一(业务日期=运行日期-1),实例会在2点真正运行。如果不是周一,则实例在2点转换为成功状态,且没有日志生成。

补数据运行

如果需要确认多个节点的定时情况和相互依赖关系,或者需要从某个根节点开始重新执行数据分析计算,您可以进行补数据操作。

  1. 运维中心页面,单击左侧导航栏中的周期任务运维 > 周期任务

  2. 单击相应节点列表后的补数据 > 当前节点

  3. 配置补数据对话框中的参数,单击确定

请添加图片描述

  1. 自动跳转至补数据实例页面,单击相应的实例,即可看到实例DAG图。

    右键单击实例,可以查看该实例的依赖关系和详细信息,并进行终止运行、重跑等具体操作。

    说明

    • 补数据任务的实例依赖前一天,例如补2017-09-15到2017-09-18时间段内的任务,如果15号的实例运行失败了,则16号的实例也不会运行。
    • 根据前文所述的实例生成规则,配置为每周二凌晨2点运行的节点write_result,补数据运行时选择的业务日期是周一(业务日期=运行日期-1),实例会在2点真正运行。如果不是周一,则实例在2点转换为成功状态,且没有日志生成。

周期自动运行

周期自动运行,由系统根据所有节点的调度配置自动触发,所以页面没有操作入口。您可以通过以下两种方式查看实例信息和运行日志:

  • 运维中心页面,单击左侧导航栏中的周期任务运维 > 周期实例,选择业务日期或运行日期等参数,搜索write_result节点对应的实例后,右键查看实例信息和运行日志。

  • 选择周期实例页面中相应的节点实例并单击,即可看到实例DAG图。

    右键单击实例,可以查看该实例的依赖关系和详细信息并进行终止运行、重跑等具体操作。

    说明

    • 如果上游节点未运行,下游节点也不会运行。
    • 如果节点的实例初始状态为未运行,当定时时间到达时,调度系统会检查该实例的全部上游实例是否运行成功。
    • 只有上游实例全部运行成功,且定时时间到达的实例,才会被触发运行。
    • 处于未运行状态的实例,请确认上游实例已经全部成功且已到定时时间。

使用临时查询快速查询SQL(可选)

如果您已经创建了DataWorks工作空间(MaxCompute项目),可以直接使用DataWorks临时查询功能,快速书写SQL语句操作MaxCompute。

临时查询的详情请参见临时查询。

进入临时查询

  1. 登录DataWorks控制台。

  2. 在左侧导航栏,单击工作空间列表

  3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发

  4. 在左侧导航栏,单击临时查询

  5. 临时查询面板,右键单击临时查询,选择新建节点 > ODPS SQL

  6. 新建节点对话框中,输入节点名称,并选择目标文件夹

说明 节点名称的长度不能超过128个字符。

  1. 单击提交

运行SQL

现在,您可以在新建的临时查询节点中运行MaxCompute支持的SQL语句,详情请参见SQL概述。

以运行一个DDL语句新建表为例,输入建表语句,单击运行即可。

create table if not exists sale_detail
(
shop_name     string,
customer_id   string,
total_price   double
)
partitioned by (sale_date string,region string);
-- 创建一张分区表sale_detail

您可以查看本次运行的费用预估,单击运行

请添加图片描述

您可以在下方的日志窗口,查看运行情况和最终结果。如果本次运行成功,结果为OK

您可以使用同样的方法执行查询语句。

请添加图片描述

这篇关于DataWorks快速入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433380

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显