DataWorks快速入门

DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。本文以DataWorks的部分核心功能为例,指导您使用DataWorks接入数据并进行业务处理、周期调度以及数据可视化。

入门简介

通过本快速入门,您可以快速完成以下操作。

  1. 数据同步:通过DataWorks的数据集成模块,创建离线同步任务,将业务数据同步至大数据计算平台(如MaxCompute数仓)。

  2. 数据清洗:在DataWorks的数据开发模块中,对业务数据进行处理、分析和挖掘。

  3. 数据展示:在DataWorks的数据分析模块中,将分析结果转化为图表,便于业务人员理解。

  4. 周期性调度:为数据同步和数据清洗流程配置周期性调度,使其定时执行。

image

前提条件

为确保本教程可以顺利进行,推荐使用阿里云主账号或具备AliyunDataWorksFullAccess权限的RAM用户。具体操作,请参见准备阿里云账号(主账号)或准备RAM用户(子账号)。

说明

DataWorks提供了完善的权限管控机制,支持在产品级与模块级对权限进行管控,如果您需要更精细的权限控制,请参见DataWorks权限体系功能概述。

准备工作

  1. 创建工作空间并绑定资源组。

    本教程以华东2(上海)地域为例,介绍DataWorks快速入门,您需要登录DataWorks管理控制台,切换至华东2(上海)地域,查看该地域是否开通DataWorks。

    说明

    本教程以华东2(上海)为例,在实际使用中,请根据实际业务数据所在位置确定开通地域:

    • 如果您的业务数据位于阿里云的其他云服务,请选择与其相同的地域。

    • 如果您的业务在本地,需要通过公网访问,请选择与您实际地理位置较近的地域,以降低访问延迟。

    • 如果未开通,单击0元组合购买,通过组合购买,一站式完成DataWorks开通、默认空间创建以及资源组绑定。

      新开通DataWorks步骤

    • 如果已开通,则需要手动创建本次教程使用的工作空间、资源组及资源组绑定操作。

      手动创建工作空间、资源组及资源组绑定操作

  2. 为资源组绑定的VPC配置EIP。

    本教程使用的电商平台公开测试业务数据需要通过公网获取,而上一步创建的通用型资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关,添加EIP,使其与公开数据网络打通,从而获取数据。

    配置步骤

操作步骤

本文以如下场景为例,指导您快速体验DataWorks的相关功能:

假设某一电商平台将商品信息、订单信息存储在MySQL数据库中,需要定期对订单数据进行分析,通过可视化的方式查看每日最畅销商品类目排名表。

步骤一:数据同步

  1. 创建数据源。

    DataWorks通过创建数据源的方式,接入数据来源和数据去向,因此,本步骤需要分别创建MySQL和MaxCompute两个数据源

    • MySQL数据源,用于连接数据来源(存储业务数据的MySQL数据库),为本教程提供原始业务数据。

      说明

      您无需准备本教程使用的原始业务数据,为方便测试和学习,DataWorks为您提供测试数据集,相关表数据已存储在公网MySQL数据库中,您只需创建MySQL数据源接入即可。

      创建MySQL数据源步骤

    • MaxCompute数据源,用于连接数据去向(MaxCompute数仓),将MaxCompute数据源绑定至数据开发后,能够为本教程提供数据存储和计算能力。

      • 如果您的项目空间中存在已添加的MaxCompute数据源,则无需进行此步骤

      • 如果您的项目空间中没有添加MaxCompute数据源,在参考如下步骤创建。

        创建MaxCompute数据源步骤

  2. 数据开发绑定MaxCompute数据源。

    需要先将MaxCompute数据源绑定至数据开发,后续才能在数据开发模块中对MaxCompute的数据进行处理。

    1. 在左上角单击

      image

      > 全部产品 > 数据开发与运维 > DataStudio(数据开发)

    2. 在左侧导航栏单击数据源

      image

      ),找到已创建的MaxCompute数据源,单击绑定

      说明

      如果您的数据开发模块已绑定了MaxCompute数据源,则无需进行此步骤

      image

  3. 创建虚拟节点,用于统筹管理整个电商平台销售数据分析的业务流程。该节点为空跑任务,无须编辑代码。

    在左侧导航栏单击数据开发,找到业务流程 > Workflow,然后右键Workflow,选择新建节点 > 通用 > 虚拟节点,自定义节点名称,本教程以Workshop为例。

    image

  4. 创建离线同步任务。

    本教程使用的测试数据涉及两张表(商品信息源表item_info和订单信息源表trade_order),这两张表存储于MySQL数据源关联的MySQL数据库中,本步骤需要分别创建两个离线同步节点(节点名称以ods_item_infoods_trade_order为例),用于将item_info表和trade_order表同步至MaxCompute数据源关联的MaxCompute数仓中,然后再进行后续数据开发。

    1. 创建ods_item_info离线同步节点

    2. 创建ods_trade_order离线同步节点

步骤二:数据清洗

数据已从MySQL同步至MaxCompute后,获得两张数据表(商品信息表ods_item_info和订单信息表ods_trade_order),您可以在DataWorks的数据开发模块对表中数据进行清洗、处理和分析,从而获取每日最畅销商品类目排名表。

说明

  • 运行ODPS节点时,会展示费用预估,由于每一个ODPS节点配置的SQL中同时包括CREATEINSERT语句,INSERT时,表还未创建,因此可能提示预估费用失败,请忽略此报错,直接运行即可。

  • DataWorks提供调度参数,可实现代码动态入参,您可在SQL代码中通过${变量名}的方式定义代码中的变量,并在调度配置 > 调度参数处,为该变量赋值。调度参数支持的格式,详情请参见调度参数支持的格式。本示例SQL中使用了调度参数${bizdate},表示业务日期为前一天。

  1. 创建dim_item_info节点。

    基于ods_item_info表,处理商品维度数据,产出商品基础信息维度表dim_item_info

    操作步骤

  2. 创建dwd_trade_order节点。

    基于ods_trade_order表,对订单的详细交易数据进行初步清洗、转换和业务逻辑处理,产出交易下单明细事实表dwd_trade_order

    操作步骤

  3. 创建dws_daily_category_sales节点。

    基于dwd_trade_order表和dim_item_info表,对DWD层经过清洗和标准化的明细数据进行汇总,产出每日商品类目销售汇总表dws_daily_category_sales

    操作步骤

  4. 创建ads_top_selling_categories节点。

    基于dws_daily_category_sales表,产出每日最畅销商品类目排名表ads_top_selling_categories

    操作步骤

步骤三:数据展示

您已经将从MySQL中获取的原始测试数据,经过数据开发处理,汇总于表ads_top_selling_categories中,现在可查询表数据,查看数据分析后的结果。

  1. 在左上角单击

    image

    > 全部产品 > 数据分析 > SQL查询

  2. 在我的文件后单击

    image

    > 新建文件,自定义文件名后单击确定

    image

  3. 在SQL查询页面,配置如下SQL。

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. 单击顶部的运行(

    image

    ),根据页面提示,在右上角选择MaxCompute数据源后单击确定,然后在费用预估页面,单击运行

  5. 在查询结果中单击

    image

    ,查看可视化图表结果,您可以单击图表右上角的

    image

    自定义图表样式。自定义图表样式的更多信息,请参见增强分析(卡片和报告)。

    image

  6. 您也可以单击图表右上角保存,将图表保存为卡片,然后在左侧导航栏单击卡片

    image

    )查看。

    image

步骤四:周期性调度

通过完成前文操作步骤,您已经获取了前一天各类商品的销售数据,但是,如果需要每天获取最新的销售数据,则可以为数据开发中各任务节点配置周期任务,使其周期性定时执行。

说明

为简化操作,快速入门教程以可视化方式为业务流程配置调度,DataWorks还支持手动精细化配置,各任务节点支持根据SQL自动解析上下游依赖,调度配置的更多信息,请参见任务调度配置。

  1. 在左上角单击

    image

    > 全部产品 > 数据开发与运维 > DataStudio(数据开发)

  2. 双击业务流程Workflow,在画布中移动各节点位置并按下图拖拽出各节点的上下游依赖关系。

    image

  3. 单击右侧流程参数,配置参数名称bizdate参数值或表达式$bizdate,单击保存

    image

  4. 双击虚拟节点(Workshop),配置如下周期调度参数后,单击顶部的保存

    image

    )。

    说明

    其他参数保持默认即可。

    image

  5. 切换至Workflow业务流程页签,单击顶部的运行,参数bizdate填写为前一天(例如今天为20240731,则此处填写为20240730),测试所有流程是否均能成功运行。

    image

  6. 所有节点均能成功运行后,点击顶部的提交,将流程中所有节点提交至运维中心。

    image

  7. 在左上角单击

    image

    > 全部产品 > 数据开发与运维 > 运维中心(工作流)

  8. 周期任务运维 > 周期任务中即可看到已创建的周期任务。

    说明

    如需展示如下图的所有上下游依赖节点,请右键单击Workshop节点,选择展开子节点 > 四层

    image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/476687.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0基础跟德姆(dom)一起学AI NLP自然语言处理01-自然语言处理入门

1 什么是自然语言处理 自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域. 2 自然语言处理的发展简史 3 自然语言处理的应用场景 语音助手机器翻译搜索引擎智能问答...

Python Matplotlib 安装指南:使用 Miniconda 实现跨 Linux、macOS 和 Windows 平台安装

Python Matplotlib 安装指南:使用 Miniconda 实现跨 Linux、macOS 和 Windows 平台安装 Matplotlib是Python最常用的数据可视化工具之一,结合Miniconda可以轻松管理安装和依赖项。在这篇文章中,我们将详细介绍如何使用Miniconda在Linux、mac…

Cmakelist.txt之win-c-udp-client

1.cmakelist.txt cmake_minimum_required(VERSION 3.16) ​ project(c_udp_client LANGUAGES C) ​ add_executable(c_udp_client main.c) ​ target_link_libraries(c_udp_client wsock32) ​ ​ include(GNUInstallDirs) install(TARGETS c_udp_clientLIBRARY DESTINATION $…

移动充储机器人“小奥”的多场景应用(上)

一、高速公路服务区应用 在高速公路服务区,新能源汽车的充电需求得到“小奥”机器人的及时响应。该机器人配备有储能电池和自动驾驶技术,能够迅速定位至指定充电点,为待充电的新能源汽车提供服务。得益于“小奥”的机动性,其服务…

Mono Repository方案与ReactPress的PNPM实践

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 Mono Repository方案与ReactPress的PNPM实践 在当今软件开发领域,Mono Repository(简称Monorepo)已成为一种流行的代码管理方式,特…

人工智能(AI)与机器学习(ML)基础知识

目录 1. 人工智能与机器学习的核心概念 什么是人工智能(AI)? 什么是机器学习(ML)? 什么是深度学习(DL)? 2. 机器学习的三大类型 (1)监督式学…

ROS之什么是Node节点和Package包?

1.什么是ROS? 官方术语:ROS(Robot Operating System,机器人操作系统)是一个开源的、模块化的机器人软件框架。它为机器人开发提供了一套工具和库,用于实现硬件抽象、设备驱动、消息传递、多线程管理等功能…

【1.4 Getting Started--->Support Matrix】

主页:支持矩阵 这些支持矩阵概述了 TensorRT API、解析器和层支持的平台、特性和硬件功能。 Support Matrix Abstract 这些支持矩阵概述了 TensorRT API、解析器和层所支持的平台、功能和硬件功能。 有关之前发布的 TensorRT 文档,请参阅 TensorRT 档…

C语言教程指针笔记整理(二)

https://www.bilibili.com/video/BV1cx4y1d7Ut?spm_id_from333.788.videopod.episodes&vd_sourcee8984989cddeb3ef7b7e9fd89098dbe8&p107 本篇为贺宏宏老师C语言教程指针部分笔记整理 //8-19 一维数组和二维数组 // int arr[4] [][][][] //含义: //1.arr…

Java 对象头、Mark Word、monitor与synchronized关联关系以及synchronized锁优化

1. 对象在内存中的布局分为三块区域: (1)对象头(Mark Word、元数据指针和数组长度) 对象头:在32位虚拟机中,1个机器码等于4字节,也就是32bit,在64位虚拟机中&#xff0…

Consumer Group

不,kafka-consumer-groups.sh 脚本本身并不用于创建 Consumer Group。它主要用于管理和查看 Consumer Group 的状态和详情,比如列出所有的 Consumer Group、查看特定 Consumer Group 的详情、删除 Consumer Group 等。 Consumer Group 是由 Kafka 消费者…

C语言数据结构——详细讲解 双链表

从单链表到双链表:数据结构的演进与优化 前言一、单链表回顾二、单链表的局限性三、什么是双链表四、双链表的优势1.双向遍历2.不带头双链表的用途3.带头双链表的用途 五、双链表的操作双链表的插入操作(一)双链表的尾插操作(二&a…

ElasticSearch学习篇18_《检索技术核心20讲》LevelDB设计思想

目录 一些常见的设计思想以及基于LSM树的LevelDB是如何利用这些设计思想优化存储、检索效率的。 几种常见的设计思想 索引和数据分离减少磁盘IO读写分离分层思想 LevelDB的设计思想 读写分离设计分层设计与延迟合并LRU缓存加速检索 几种常见设计思想 索引与数据分离 索引…

JavaWeb之综合案例

前言 这一节讲一个案例 1. 环境搭建 然后就是把这些数据全部用到sql语句中执行 2.查询所有-后台&前台 我们先写后台代码 2.1 后台 2.2 Dao BrandMapper: 注意因为数据库里面的名称是下划线分割的,我们类里面是驼峰的,所以要映射 …

043 商品详情

文章目录 详情页数据表结构voSkuItemVo.javaSkuItemSaleAttrVo.javaAttrValueAndSkuIdVo.javaSpuAttrGroupVo.javaGroupAttrParamVo.java pom.xmlSkuSaleAttrValueDao.xmlSkuSaleAttrValueDao.javaAttrGroupDao.xmlAttrGroupServiceImpl.javaSkuInfoServiceImpl.javaSkuSaleAtt…

Django启用国际化支持(2)—实现界面内切换语言:activate()

文章目录 ⭐注意⭐1. 配置项目全局设置:启用国际化2. 编写视图函数3. 配置路由4. 界面演示5、扩展自动识别并切换到当前语言设置语言并保存到Session设置语言并保存到 Cookie ⭐注意⭐ 以下操作依赖于 Django 项目的国际化支持。如果你不清楚如何启用国际化功能&am…

中国省级新质生产力发展指数数据(任宇新版本)2010-2023年

一、测算方式:参考C刊《财经理论与实践》任宇新(2024)老师的研究,新质生产力以劳动者劳动资料劳动对象及其优化组合的质变为 基本内涵,借 鉴 王 珏 和 王 荣 基 的 做 法构建新质生产力发展水平评价指标体系如下所示&a…

设计模式之 状态模式

状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时,改变其行为。这种模式将状态的转换和行为的变化解耦,将不同状态的行为封装到独立的状态类中,而通过上下文(Con…

学习日志015--python单链表

创建 class Node:def __init__(self,data):# 数据域self.data data# 链接域self.next Noneclass LinkList:def __init__(self,):# 初始化头节点self.head None# 记录链表的长度self.size 0 增加 #头插def insert_head(self,value):# 创建新节点node Node(value)q self…

CSP/信奥赛C++语法基础刷题训练(22):洛谷P1075:[NOIP2012 普及组] 质因数分解

CSP/信奥赛C语法基础刷题训练(22):洛谷P1075:[NOIP2012 普及组] 质因数分解 题目描述 已知正整数 n n n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n n n。 输出格式 输出…