DataWorks快速入门
DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。本文以DataWorks的部分核心功能为例,指导您使用DataWorks接入数据并进行业务处理、周期调度以及数据可视化。
入门简介
通过本快速入门,您可以快速完成以下操作。
-
数据同步:通过DataWorks的数据集成模块,创建离线同步任务,将业务数据同步至大数据计算平台(如MaxCompute数仓)。
-
数据清洗:在DataWorks的数据开发模块中,对业务数据进行处理、分析和挖掘。
-
数据展示:在DataWorks的数据分析模块中,将分析结果转化为图表,便于业务人员理解。
-
周期性调度:为数据同步和数据清洗流程配置周期性调度,使其定时执行。

前提条件
为确保本教程可以顺利进行,推荐使用阿里云主账号或具备AliyunDataWorksFullAccess权限的RAM用户。具体操作,请参见准备阿里云账号(主账号)或准备RAM用户(子账号)。
说明
DataWorks提供了完善的权限管控机制,支持在产品级与模块级对权限进行管控,如果您需要更精细的权限控制,请参见DataWorks权限体系功能概述。
准备工作
-
创建工作空间并绑定资源组。
本教程以华东2(上海)地域为例,介绍DataWorks快速入门,您需要登录DataWorks管理控制台,切换至华东2(上海)地域,查看该地域是否开通DataWorks。
说明
本教程以华东2(上海)为例,在实际使用中,请根据实际业务数据所在位置确定开通地域:
-
如果您的业务数据位于阿里云的其他云服务,请选择与其相同的地域。
-
如果您的业务在本地,需要通过公网访问,请选择与您实际地理位置较近的地域,以降低访问延迟。
-
如果未开通,单击0元组合购买,通过组合购买,一站式完成DataWorks开通、默认空间创建以及资源组绑定。
新开通DataWorks步骤
-
如果已开通,则需要手动创建本次教程使用的工作空间、资源组及资源组绑定操作。
手动创建工作空间、资源组及资源组绑定操作
-
-
为资源组绑定的VPC配置EIP。
本教程使用的电商平台公开测试业务数据需要通过公网获取,而上一步创建的通用型资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关,添加EIP,使其与公开数据网络打通,从而获取数据。
配置步骤
操作步骤
本文以如下场景为例,指导您快速体验DataWorks的相关功能:
假设某一电商平台将商品信息、订单信息存储在MySQL数据库中,需要定期对订单数据进行分析,通过可视化的方式查看每日最畅销商品类目排名表。
步骤一:数据同步
-
创建数据源。
DataWorks通过创建数据源的方式,接入数据来源和数据去向,因此,本步骤需要分别创建MySQL和MaxCompute两个数据源。
-
MySQL数据源,用于连接数据来源(存储业务数据的MySQL数据库),为本教程提供原始业务数据。
说明
您无需准备本教程使用的原始业务数据,为方便测试和学习,DataWorks为您提供测试数据集,相关表数据已存储在公网MySQL数据库中,您只需创建MySQL数据源接入即可。
创建MySQL数据源步骤
-
MaxCompute数据源,用于连接数据去向(MaxCompute数仓),将MaxCompute数据源绑定至数据开发后,能够为本教程提供数据存储和计算能力。
-
如果您的项目空间中存在已添加的MaxCompute数据源,则无需进行此步骤。
-
如果您的项目空间中没有添加MaxCompute数据源,在参考如下步骤创建。
创建MaxCompute数据源步骤
-
-
-
数据开发绑定MaxCompute数据源。
需要先将MaxCompute数据源绑定至数据开发,后续才能在数据开发模块中对MaxCompute的数据进行处理。
-
在左上角单击

> 全部产品 > 数据开发与运维 > DataStudio(数据开发)。
-
在左侧导航栏单击数据源(

),找到已创建的MaxCompute数据源,单击绑定。
说明
如果您的数据开发模块已绑定了MaxCompute数据源,则无需进行此步骤。

-
-
创建虚拟节点,用于统筹管理整个电商平台销售数据分析的业务流程。该节点为空跑任务,无须编辑代码。
在左侧导航栏单击数据开发,找到业务流程 > Workflow,然后右键Workflow,选择新建节点 > 通用 > 虚拟节点,自定义节点名称,本教程以
Workshop为例。
-
创建离线同步任务。
本教程使用的测试数据涉及两张表(商品信息源表
item_info和订单信息源表trade_order),这两张表存储于MySQL数据源关联的MySQL数据库中,本步骤需要分别创建两个离线同步节点(节点名称以ods_item_info和ods_trade_order为例),用于将item_info表和trade_order表同步至MaxCompute数据源关联的MaxCompute数仓中,然后再进行后续数据开发。-
创建ods_item_info离线同步节点
-
创建ods_trade_order离线同步节点
-
步骤二:数据清洗
数据已从MySQL同步至MaxCompute后,获得两张数据表(商品信息表ods_item_info和订单信息表ods_trade_order),您可以在DataWorks的数据开发模块对表中数据进行清洗、处理和分析,从而获取每日最畅销商品类目排名表。
说明
-
运行ODPS节点时,会展示费用预估,由于每一个ODPS节点配置的SQL中同时包括CREATE和INSERT语句,INSERT时,表还未创建,因此可能提示预估费用失败,请忽略此报错,直接运行即可。
-
DataWorks提供调度参数,可实现代码动态入参,您可在SQL代码中通过
${变量名}的方式定义代码中的变量,并在调度配置 > 调度参数处,为该变量赋值。调度参数支持的格式,详情请参见调度参数支持的格式。本示例SQL中使用了调度参数${bizdate},表示业务日期为前一天。
-
创建
dim_item_info节点。基于
ods_item_info表,处理商品维度数据,产出商品基础信息维度表dim_item_info。操作步骤
-
创建
dwd_trade_order节点。基于
ods_trade_order表,对订单的详细交易数据进行初步清洗、转换和业务逻辑处理,产出交易下单明细事实表dwd_trade_order。操作步骤
-
创建
dws_daily_category_sales节点。基于
dwd_trade_order表和dim_item_info表,对DWD层经过清洗和标准化的明细数据进行汇总,产出每日商品类目销售汇总表dws_daily_category_sales。操作步骤
-
创建
ads_top_selling_categories节点。基于
dws_daily_category_sales表,产出每日最畅销商品类目排名表ads_top_selling_categories。操作步骤
步骤三:数据展示
您已经将从MySQL中获取的原始测试数据,经过数据开发处理,汇总于表ads_top_selling_categories中,现在可查询表数据,查看数据分析后的结果。
-
在左上角单击

> 全部产品 > 数据分析 > SQL查询。
-
在我的文件后单击

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

-
在SQL查询页面,配置如下SQL。
SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate}; -
单击顶部的运行(

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

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

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

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

)查看。

步骤四:周期性调度
通过完成前文操作步骤,您已经获取了前一天各类商品的销售数据,但是,如果需要每天获取最新的销售数据,则可以为数据开发中各任务节点配置周期任务,使其周期性定时执行。
说明
为简化操作,快速入门教程以可视化方式为业务流程配置调度,DataWorks还支持手动精细化配置,各任务节点支持根据SQL自动解析上下游依赖,调度配置的更多信息,请参见任务调度配置。
-
在左上角单击

> 全部产品 > 数据开发与运维 > DataStudio(数据开发)。
-
双击业务流程Workflow,在画布中移动各节点位置并按下图拖拽出各节点的上下游依赖关系。

-
单击右侧流程参数,配置参数名称为
bizdate,参数值或表达式为$bizdate,单击保存。
-
双击虚拟节点(Workshop),配置如下周期调度参数后,单击顶部的保存(

)。
说明
其他参数保持默认即可。

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

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

-
在左上角单击

> 全部产品 > 数据开发与运维 > 运维中心(工作流)。
-
在周期任务运维 > 周期任务中即可看到已创建的周期任务。
说明
如需展示如下图的所有上下游依赖节点,请右键单击Workshop节点,选择展开子节点 > 四层。

相关文章:
DataWorks快速入门
DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。本文以DataWorks的部分核心功能为例,指导您使用DataWorks接入数据并进行业务处理、周期调度以及数据…...
EasyExcel并行导出多个excel文件并压缩下载
EasyExcel并行导出多个excel文件并压缩下载 在SpringBoot应用中,采用同步方式导出Excel文件会导致服务器在生成文件期间阻塞,特别是在处理大量数据时,这种效率较低的方法会严重影响性能。为了解决这个问题,可以采用以下改进措施:首先将导出的数据进行拆分,然后利用Compl…...
圣诞节秘诀
🕰️你想在2024年圣诞节脱颖而出吗?利用我们的数据洞察,发现今年最受欢迎的礼物!无论是在亚马逊、速卖通、Shopify还是直销平台上,我们的排行榜都将帮助您找到最畅销和最受欢迎的产品。立即优化您的库存,以…...
亚信安全发布《2024年第三季度网络安全威胁报告》
《亚信安全2024年第三季度网络安全威胁报告》的发布旨在从一个全面的视角解析当前的网络安全威胁环境。此报告通过详尽梳理和总结2024年第三季度的网络攻击威胁,目的是提供一个准确和直观的终端威胁感知。帮助用户更好地识别网络安全风险,并采取有效的防…...
Long noncoding RNAs and humandisease
文章名字:Long noncoding RNAs and humandisease Orly Wapinski and Howard Y. Chang Howard Hughes Medical Institute and Program in Epithelial Biology, Stanford, CA 94305, USA 摘要: 一种新型转录本,长非编码RNA(lncRNA&…...
嵌入式AI之rknn yolov5初探
本文主要记录在RK3588上跑通RKNUP的rknn_yolov5_demo的过程,并且对rknn_yolov5_demo的代码进行修改,实现在显示器上同步播放rknn_yolov5_demo视频流检测结果。 首先,是RKNUP SDK的编译,参考官方SDK中的README.md文档,下载好对应的sdk编译工具链,我这边使用的是debian系统…...
《Vue零基础入门教程》第三课:起步案例
往期内容 《Vue零基础入门教程》第一课:Vue简介 《Vue零基础入门教程》第二课:搭建开发环境 做为第一个案例, 主要给大家介绍vue的最基本使用. vue使用的3步曲(重点) 引入vue.js编写页面(视图)创建App实例并挂载 1) 引入vue.js 在html的头部, 通过…...
深入浅出C#编程语言
引言 随着.NET框架的发展,C#(发音为“C Sharp”)已经成为一种非常流行且功能强大的面向对象和类型安全的编程语言。自2002年由微软首次发布以来,C#已经经历了多个版本的迭代,每个新版本都带来了更多的特性和改进。本文…...
游戏盾 :在线游戏的终极防护屏障
随着在线游戏行业的飞速发展,网络安全成为了游戏公司面临的重大挑战。DDoS(分布式拒绝服务)攻击、CC攻击等网络威胁不仅可能影响游戏的运行,还会损害玩家体验,甚至危及游戏公司的声誉。为了解决这些问题,游…...
工作中的问题记录笔记
1. echarts 中 词云图 页面展示数据丢失? 产生原因: 词云图默认超出画布范围不展示。 解决办法:在series中,设置属性 drawOutOfBound:true。 2. vue 中 router.go(-1) 和 router.push() 区别 Vue Router默认会缓存路由组件&…...
加载指定会话最近消息
加载指定会话最近消息 前言 上一集我们就把三个标签页的加载列表的任务给完成啦!那么我们这一集就来完成加载指定绘画最近消息的任务。 需求分析 我们点击了某个会话之后,我们就会去显示我们的会话的最近的N条消息。请看下图。 我们这里涉及到两个区…...
基于tensorflow使用VGG16实现猫狗识别
import tensorflow as tf import numpy as np from tensorflow.keras import layers, models, optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator# 定义 VGG16 模型 class VGG16(tf.keras.Model):def __init__(self, num_classes2):super(VGG16…...
第18章 EXISTS 与 NOT EXISTS 关键字
一、EXISTS 关键字介绍 关键字介绍EXISTS 关联子查询通常也会和 EXISTS操作符一起来使用,用来检查在子查询中是否存在满足条件的行。 如果在子查询中当前的行不满足条件:返回 FALSE,继续在子查询中查找 如果在子查询中当前的行满足条件&…...
Windows多JDK版本管理工具JVMs
Windows多JDK版本管理工具JVMs 官网安装使用手动下载jdk 官网 https://github.com/ystyle/jvms 下载 https://github.com/ystyle/jvms/releases 当前下载版本为v2.1.6 安装 下载后,解压到某个目录。 比如:D:\soft\JVMs\jvms_v2.1.6_amd64 把这个目录…...
【C++】初始化列表、类型转换
目录: 一、const成员函数 二、初始化列表 三、类型转换 正文 一、const成员函数 (1)将const修饰的成员函数称之为const成员函数,const修饰成员函数放到成员函数参数列表的后⾯。至于为什么这么放是语法规定。 (2&a…...
创新设计,精准仿真|SOLIDWORKS Simulation 2025新功能
SOLIDWORKS Simulation 2025 带来了多项新功能,不仅提高了工作效率,还增强了仿真的精确度。以下是五大新功能的详细介绍,帮助您更好地利用这些新特性提升设计仿真能力。 1. 从分析中排除实体 在复杂的装配体仿真中,有时需要排除某…...
vue3封装Element Plus table表格组件
支持绝大部分Element Plus原有设置属性,支持分页,支持动态适配高度 效果展示 组件代码: <template><div class"table-wrap" ref"tableWrap"><el-tableclass"w100 h100":data"tableInfo.…...
Qt之QWidget相关
Qt概述 Qt 是一个跨平台的 C 开发框架。 跨平台支持:可以用于开发 Windows、macOS、Linux、Android、iOS 等多种操作系统下的应用程序。这意味着开发者使用 Qt 编写的代码,在经过适当的编译和配置后,能够在不同平台上运行,减少了…...
用web前端写出一个高校官网
所实现的效果如链接: http://127.0.0.1:5500/school.html <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>xigongshang</title> <style> * {margin: 0;padding: 0;} a{ text-decoration: none…...
【笔记】Android Gradle Plugin配置文件相关说明-libs.versions.toml
版本号 文件路径:Project\gradle\libs.versions.toml 直接搜索versions.agp是找不到的,这是变量引用的写法,查询 agp版本可以直接查版本号。 [versions] agp "8.5.0-alpha08" junit "4.13.2" junitVersion "1.…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
