基于DataWorks的多场景实践及数据开发Data Studio最新体验测评

本文涉及的产品
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: DataWorks是阿里云推出的一站式智能大数据开发治理平台,自2009年发布以来,历经多次迭代,成为企业数字化转型的重要工具。本文通过多个实践案例,如公共电影票房数据预处理,展示了DataWorks如何帮助企业高效处理大数据,涵盖数据集成、ETL开发、数据分析及治理等全流程。最新版DataWorks引入了智能助手Copilot,进一步提升了用户体验和工作效率。

引言

转眼间,距离DataWorks产品问世已经过了多年的时间。自2009年起步以来,这款由阿里云精心打造的一站式智能大数据开发治理平台,经历了不断的迭代与进化,逐渐成为众多企业在数字化转型过程中不可或缺的利器。它不仅承载了阿里巴巴集团15年来在大数据领域的深厚积累,还深度适配了包括MaxCompute、EMR、Hologres、Flink以及PAI在内的数十种大数据和人工智能计算服务。

我作为一个开发者,也已经与DataWorks共同走过了近四年光阴,这期间我学习了大量的DataWorks最佳实践,并结合自身的工作经验,逐步掌握了从数据集成、ETL开发到数据分析及治理的全流程技能。

历史最佳实践实验文章如下:

开源大数据分析实验(1)——简单用户画像分析之采集数据

开源大数据分析实验(2)——简单用户画像分析之加工数据

开源大数据分析实验(3)——简单用户画像分析之配置数据质量监控

开源大数据分析实验(4)——简单用户画像分析之数据可视化展现

基于DataWorks+MaxCompute的公共电影票房数据预处理实践

基于DataWorks+MaxCompute的企业本地数据上云实践

基于DataWorks+MaxCompute的员工配送业务绩效考核分析

基于MaxCompute+DataWorks离线同步某电商用户购买记录实践

基于DataWorks的企业订单数据上云实现数据可视化实践

这里,我们再一起回顾一下经典案例——基于DataWorks+MaxCompute的公共电影票房数据预处理全过程

基于DataWorks+MaxCompute的公共电影票房数据预处理实践

实验内容

对MaxCompute数仓公共数据进行预处理,主要对maxcompute_public_data.dwd_product_movie_basic_info(电影基本信息,包含影片名、导演、编剧、主演、影片类型等基础信息)表和maxcompute_public_data.ods_product_movie_box(电影票房基本信息,包含影片名、当日票房、累计票房等信息)进行操作,为后期数据分析做准备工作。

实现思路

(1)登录DataWorks选择公共数据集
(2)对票房数据进行数据清洗
(3)对票房数据进行数据转换
(4)保存查询后的结果数据

实验步骤

1.搜索框搜索Dataworks,进入DataWork后,我们需要选择Region区域为【华东2(上海)】(说明:地域请根据实际情况选择,如果不在对应地域的话无法查看到项目列表)

image.png

image.png

2.如图点击【SQL查询】菜单。

image.png

进入到如下页面:

image.png

如图点击image.png图标添加公共数据集

在列表中找到公共数据集,点击【添加】

在左侧会出现【公共数据】代表添加公共数据集成功。

image.png

image.png

下面使用两条SQL语句来体验查询公共数据集里的数据,分别查询2020年手机号归属地基本信息以及查看北京市各运营商的手机号段数量。

如图点击【+】调出SQL编辑器。

image.png

在编辑器里输入如下SQL语句:

SELECT * 
FROM maxcompute_public_data.dwd_product_phoneno_basic_info_2020
LIMIT 200
;

image.png

在执行SQL前需要先授权,否则无法执行。

如图点击image.png图标进行授权。

image.png

image.png

在【成本预估】弹窗点击【运行】按钮

image.png

在下方的【结果】选项卡里出现对应的查询结果

image.png

复制下列语句进行搜索:

SELECT isp AS  "运营商"
, COUNT(phoneno) AS "手机号段数量"
FROM maxcompute_public_data.dwd_product_phoneno_basic_info_2020
WHERE city = "北京"
GROUP BY isp
ORDER BY "手机号段数量" DESC
LIMIT 200
;

image.png

3.公共电影票房数据集解读。

在maxcomput公共数据里出现含有movie的数据表,dwd_product_movie_basic_info和ods_product_movie_box为本次实验所需要查询的数据表。

切换至数据开发下。

image.png

点击【临时查询】,新建ODPS SQL为movie。

image.png

image.png

image.png

数据表maxcompute_public_data.dwd_product_movie_basic_info。执行如下语句,可查看dwd_product_movie_basic_info表结构。

SHOW CREATE TABLE maxcompute_public_data.dwd_product_movie_basic_info;

电影基本信息,包含影片名、导演、编剧、主演、影片类型等基础信息。

image.png

数据表maxcompute_public_data.ods_product_movie_box。

SHOW CREATE TABLE maxcompute_public_data.ods_product_movie_box;

电影票房基本信息,包含影片名、当日票房、累计票房等信息。

image.png

4.数据清洗。

执行如下语句,点击的运行图标。

SELECT movie_name -- 电影名称
    ,director -- 导演
    ,scriptwriter -- 编剧
    ,area -- 制片地区/国家
    ,actors -- 主演
    ,type -- 类型
    ,movie_length -- 电影长度
    ,movie_date -- 上映日期
    ,movie_language -- 语言
    ,imdb_url -- imdb号
    ,ds
FROM maxcompute_public_data.dwd_product_movie_basic_info
WHERE ds = MAX_PT('maxcompute_public_data.dwd_product_movie_basic_info')
LIMIT  200;

image.png

运行结果如下。

image.png

对maxcompute_public_data.dwd_product_movie_basic_info表进行数据清洗处理,去除没有制片地区/国家的数据。

选中maxcompute_public_data.dwd_product_movie_basic_info表,修改SQL语句,增加筛选条件去除没有制片地区/国家的数据。(area != ‘’ 代表area字段下面的值不允许是空值)

SELECT movie_name -- 电影名称
  ,director -- 导演
  ,scriptwriter -- 编剧
  ,area -- 制片地区/国家
  ,actors -- 主演
  ,type -- 类型
  ,movie_length -- 电影长度
  ,movie_date -- 上映日期
  ,movie_language -- 语言
  ,imdb_url -- imdb号
  ,ds
FROM maxcompute_public_data.dwd_product_movie_basic_info
WHERE ds = MAX_PT('maxcompute_public_data.dwd_product_movie_basic_info')
AND area != ''
LIMIT 200;

查询动作片的票房数据。

从票房数据里筛选出前200条动作片的数据。

修改SQL语句如下:(area!=’’代表area字段不为空的数据,并列条件 AND type = ‘动作’代表查询类型为动作的数据,同样返回前200条数据)

SELECT movie_name -- 电影名称
  ,director -- 导演
  ,scriptwriter -- 编剧
  ,area -- 制片地区/国家
  ,actors -- 主演
  ,type -- 类型
  ,movie_length -- 电影长度
  ,movie_date  -- 上映日期
  ,movie_language -- 语言
  ,imdb_url -- imdb号
  ,ds
FROM maxcompute_public_data.dwd_product_movie_basic_info
WHERE ds = MAX_PT('maxcompute_public_data.dwd_product_movie_basic_info')
AND area != ''
AND type = '动作'
LIMIT 200;

image.png

5.数据转换。

公共数据集中描述电影票房的表一共有2个,dwd_product_movie_basic_info里的movie_name和ods_product_movie_box里的moviename都保存的是电影名称信息,我们可以对两张表的数据进行数据转换,将相同电影名称的两条数据合并转换为一条数据。

修改SQL语句,代码如下:

WITH
  a as(SELECT ds,moviename,sumboxoffice,DENSE_RANK() OVER (PARTITION BY ds ORDER BY CAST(sumboxoffice AS DOUBLE) DESC) AS srank,boxoffice,irank FROM maxcompute_public_data.ods_product_movie_box WHERE ds>='20170128' AND ds<='20170203' )
  ,b as (SELECT movie_name,director,type ,area, actors,movie_language ,ROW_NUMBER() OVER (PARTITION BY movie_name ORDER BY TYPE DESC) AS nums FROM maxcompute_public_data.dwd_product_movie_basic_info WHERE ds>='20170128' AND ds<='20170203' )
  ,c as (SELECT b.movie_name,b.director,b.type ,b.area, b.actors,b.movie_language FROM b WHERE b.nums=1)
  SELECT  a.ds AS 放映日期
  ,a.moviename AS 影片名
  ,a.irank AS 当日票房排名
  ,a.boxoffice AS 当日票房万
  ,a.srank AS 总票房排名
  ,a.sumboxoffice AS 总票房万
  ,c.director AS 导演
  ,c.type AS 电影类型
  ,c.area AS 制片地区
  ,c.actors AS 主演
  ,c.movie_language AS 影片时长
FROM a
LEFT JOIN c
ON a.moviename = c.movie_name;

上述语句主要用了SQL的WITH AS 和JOIN语法。

  • WITH AS是SQL子查询的一种语法,支持创建不同的临时表。

  • JOIN语法的作用是合并表,有LEFT JOIN(左连接),RIGHT JOIN(右连接), INNER JOIN(内链接)

  • ON一般配合JOIN使用,代替WHERE的功能,定义查询条件。

如代码所示,使用WITH AS 创建了a,b,c三个临时表,同时对三个表进行做链接,合并的条件是两个表的电影名称一致。

选中SQL语句,点击【运行】图标按钮。

image.png

DataWorks助力企业大数据开发与治理

说一下比较真实的体验,也算是个人使用四年来的一些心得吧,首先,要说这款工具有不有用,我给出的答案会是非常有用!

在这四年里,DataWorks成为了我日常工作中必备的一部分,帮助我们团队解决了许多数据处理上的难题。记得最初接触DataWorks时,只知道其功能强大,特性丰富,但是开始上手时真的用了比较久的时间才熟悉(界面布局复杂、专业术语众多,确实感到有些不知所措),当我在完全熟悉之后,才更加切身体会到这款工具所带来的巨大便利与效率提升。这里确实也得感谢阿里云官方在不断优化改进产品和相关文档,也感谢社区的问答小伙伴们能帮忙解决问题。

随着时间推移,我对DataWorks的理解逐渐加深,也开始意识到它不仅仅是一个简单的数据处理平台,而是一个集成了多种先进技术和服务的一站式解决方案。在进行大规模数据集成时,它可以轻松连接并同步来自不同系统的异构数据源;而在开发阶段,则提供了从SQL脚本编写到复杂工作流编排等一系列工具,极大地简化了开发流程。更重要的是,DataWorks内置的数据治理功能使得我们可以更好地管理和优化数据资产,确保数据质量的同时提高了分析结果的准确性。

在实际应用中,DataWorks的强大之处在于其能够支持复杂的业务逻辑和多样的计算需求。当我们需要处理海量的日志文件或交易记录时,通过配置数据集成任务,可以高效地将这些数据同步到MaxCompute或其他计算引擎中进行进一步的清洗、转换与分析,并为后续的数据挖掘奠定基础。

目前,DataWorks已经成为我们数据管理的核心工具,帮助我们构建了一个高效、规范且安全的大数据处理体系,确保了从数据采集、清洗、开发、调度到服务化的全链路顺畅运行。

新版数据开发Data Studio体验测评

说起这一块在公测后我确实都没有使用过,也是第一次知道更新了智能助手 Copilot的功能

我们进入DataWorks产品界面:https://www.aliyun.com/product/bigdata/ide ,进入控制台界面,此时会自动跳出一个公测的邀请,点击接受

image.png

到了这个界面有些一头雾水了,还是回看一下更新公告,理清这三者的关系,目前不太确定是不是同一次更新的功能

找了一下,发现是今年9月份开始公测的,那么DataWorks全新数据处理和分析环境Notebook,及智能助手 Copilot应该都是这一次更新的

image.png

清楚了这一点之后,我们回到DataWorks控制台中,找到工作空间列表,选择已创建的工作空间,单击操作列的【快速进入 > 数据开发(新版)】,进入Data Studio。

image.png

点击立即体验

image.png

需要注意的是当前Data Studio产品公测地域只有华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳),作者使用的地域为华东2(上海)

DataWorks Copilot简介

DataWorks Copilot,DataWorks智能助手,它能够根据自然语言快速完成多种代码相关操作及DataWorks产品操作。使用DataWorks Copilot,可帮助您轻松、高效、便捷地完成数据ETL及数据分析工作,节省大量时间和精力。

点击展开侧边栏,选择【Data Studio数据开发】

image.png

在如下界面中,我们可以看到右上角内置的【DataWorks Copilot】

image.png

我们新建临时查询

image.png

进入查询中,Ctrl+I快捷键启动,可直接调出对话框

image.png

给出prompt如下:

创建一个会员注册信息表

可以看到直接给出了创建会员注册信息表的SQL语句

08a9d68f-b23d-4a02-af54-4e9fafca502d.gif

点击接受可以直接将代码应用到编辑器中

image.png

在创建完会员注册信息表后,随机增加一些数据

image.png

点击接受后则会默认增加到刚才的语句下面

image.png

而当我们想手动修改代码时,Copilot会根据获取到的上下文信息,对正在编写的SQL进行代码补全,按下TAB键可以接受补全结果,按下CTRL + →,可选择接受部分结果,按下ESC键则放弃补全结果。

image.png

但是值得注意的是,此处的代码补全貌似仅能在项目创建完成后且执行批量的操作语句或涉及到重复对象比较多时才能触发(可能是此时AI才能较好的判定出你的意图) , 一些简短的语句无法触发自动补全功能

除去行内的编码生成外,也可以直接选择一段SQL语句,右键选择Copilot,会有如下五个选项:

image.png

其中,SQL Chat就是我们刚才快捷键启用的功能,这里也不过多赘述了

而下面的SQL生成、SQL纠错、生成注释、SQL改写就类似于其附加的专业Agent,他们各自擅长对应的领域

选择SQL纠错时,会直接自动对选中的代码段进行排错,并生成优化后的代码段

3f124e83-04b0-40c3-8905-f55bdf1e95cb.gif
SQL纠错

选择生成注释时,可按要求对代码段中的语法进行解释,此处我给出的prompt是解释字段的含义

c2ec3929-e1db-458e-978d-44b8ddfc6660.gif
生成注释

选择SQL改写时,可按要求对代码段进行局部修改,比如说部分字段的新增、删除等等

3c9ee420-a673-41b8-a999-d8398f789eef.gif
SQL改写

而在右侧栏,我们同样可以展开Copilot Chat功能界面,同其进行对话聊天

点击这个 / ,我们可以看到Chat界面功能更加丰富

image.png

除去常见的功能外,此处还内置有快捷找表创建API功能,确实是比较新颖了

image.png

顾名思义,快捷找表就是帮助使用者能在海量数据表中根据对应特征词快速查找到数据表,一般而言,生产环境数据表都是至少百来张的,这个功能的重要性也不言而喻了

创建API就比较厉害了,可以直接通过对话来创建一个共享数据的接口

我给出prompt如下:

帮助我创建一个API服务,以共享test表的数据

image.png

我们只需要依次填入API名称、API地址、目标文件夹、描述,就可以快速创建一个API接口,体验真的比老版本好太多了

DataWorks Notebook简介

DataWorks Notebook是智能化交互式数据开发和分析工具,能够面向多种数据引擎开展SQL或Python分析,即时运行或调试代码,获取可视化数据结果。同时,DataWorks Notebook能够与其他任务节点混合编排为工作流,提交至调度系统运行,助力复杂业务场景的灵活实现。

我们点击手动业务流程,创建一个新流程,并新建节点:

image.png

也是经典的工作流(Workflow)模式,支持以业务视角通过可视化拖拽的方式编排多种不同类型的数据开发节点

按照如下步骤依次创建节点:

image.png
image.png

找到需要建立依赖关系的两个节点,鼠标hover到其中一个节点下边缘的中间位置,当出现 + 后,开始拖动鼠标,将箭头拖动至另外一个节点后松开

image.png

这里因为没有涉及到具体的业务,所以仅作技术上的学习,再加上这一块周周本来并不擅长,也不给大家献丑了

总结

不得不说,阿里云的创新能力还是太强了,搞数据管理和运维这块确实是非常需要一个智能助手,这下好了,操作系统里出了OS Copilot ,数据治理平台出了DataWorks Copilot,皆大欢喜!

不过对比OS Copilot的话,DataWorks Copilot的限制其实还是有一些大的

就是说单纯作为DataWorks的智能助手是比较合格的,但是无法像OS Copilot那样做成开源的去直接集成到一些数据库软件里,这也算是一点遗憾吧!

就这次版本功能更新而言,我个人是觉得挺喜欢的,当然,因为时间关系,我也仅测试了与工作关联较大的DataWorks Copilot功能,其他的暂时还未体验,希望各位朋友也能够多多分享自己的使用心得和体验!

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标 &nbsp;通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群 &nbsp;企业数据仓库开发人员 &nbsp;大数据平台开发人员 &nbsp;数据分析师 &nbsp;大数据运维人员 &nbsp;对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
7月前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之构建一直失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
7月前
|
缓存 测试技术 开发工具
应用研发平台EMAS产品常见问题之拿不到推送如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
2天前
|
SQL DataWorks 搜索推荐
DataWorks产品评测与最佳实践体验报告
DataWorks是阿里巴巴云推出的一款高效数据处理平台,通过内置的数据集成工具和ETL功能,实现了多源数据的自动化处理与分析。本文介绍了DataWorks在用户画像分析中的应用实践,展示了其如何帮助企业高效管理数据资源,支持决策制定及营销优化。同时,文章还评测了DataWorks的产品体验,包括开通流程、功能满足度等方面,并与其它数据开发平台进行了比较,突出了DataWorks在易用性、性能和生态完整性上的优势。最后,对Data Studio新版本中的Notebook环境进行了初步探索,强调了其在提升开发效率方面的价值。
34 16
|
2天前
|
分布式计算 DataWorks 大数据
DataWorks产品体验评测报告
DataWorks产品体验评测报告
27 8
|
5天前
|
SQL DataWorks 搜索推荐
DataWorks 产品评测:数据处理的最佳实践与体验
DataWorks是阿里巴巴云推出的一款综合型大数据开发治理平台,通过此次用户画像分析实践,展现了其在数据整合、分析及可视化方面的强大能力。该平台支持自动化ETL流程,优化了数据资产管理与决策支持,提升了跨部门协作效率,促进了业务创新。相比其他工具,DataWorks具备全面的服务生态、高性能计算能力和高智能化水平,尤其适用于处理大规模数据集。新版Data Studio进一步增强了用户体验,集成了Notebook环境与智能助手Copilot,大幅提高了开发效率。尽管存在一些小问题,但整体上,DataWorks是企业实现数字化转型的理想选择。
27 8
|
8天前
|
数据采集 DataWorks 搜索推荐
DataWorks产品评测:数据处理最佳实践与平台体验
DataWorks产品评测:数据处理最佳实践与平台体验
34 8
|
8天前
|
DataWorks 数据可视化 搜索推荐
DataWorks产品体验与评测报告
DataWorks是一款全面的大数据开发治理平台,通过最佳实践测评,展示了其在用户画像分析、数据管理和开发效率提升等方面的强大功能。体验过程中,虽遇到开通流程繁琐、文档不足等问题,但整体功能满足预期。建议增强实时数据处理能力和数据可视化功能,以进一步提升用户体验。与同类工具相比,DataWorks在功能全面性、性能和开放性上表现突出,但也需优化界面设计和价格策略。新版Data Studio中的Notebook和智能助手Copilot提供了优秀的交互式编程和智能辅助,但仍需改善稳定性和集成度。
|
5月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之运维中心无法打开该怎么办
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之运维中心无法打开该怎么办
|
5月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之如何进入迁移助手页面并使用迁移助手功能
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
分布式计算 DataWorks IDE
DataWorks产品使用合集之在 DataWorks 中,Function Studio 功能如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
81 0