DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析

本文涉及的产品
公网NAT网关,每月750个小时 15CU
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。

前言

在测评DataWorks之前,对于非数据分析行业的技术从业者可能不太熟悉什么是DataWorks?那么这里先介绍一下什么是DataWorks。官方文档给出了一句话总结:【DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。DataWorks的产品定位就是说:DataWorks致力于为数据开发者、数据分析师、数据资产管理者,打造一个具备开放自主开发与全栈数据研发能力的一站式、标准化、可视化、透明化的智能大数据全生命周期云研发平台。DataWorks赋予用户仅通过单一平台,即可实现数据传输、数据计算、数据治理、数据分享的各类复杂组合场景的能力。

同时,DataWorks持续打造符合企业级数仓、数据中台构建要求的功能模块,为企业业务的数字化转型提供支持。

在简单介绍了DataWorks 之后,下面我们就要开始今天的正式内容,基于DataWorks和MaxCompute产品组合实现用户画像分析。

开通服务

使用DataWorks和MaxCompute产品组合进行数仓开发之前,我们首先需要开通 DataWorks 服务。进入阿里云DataWorks官网,单击【立即购买】,即可进入DataWorks服务开通页

image.png

在购买详情页选择地域、DataWorks版本、购买时长,其他默认,点击【确认订单并支付】

image.png

此时如果提示 DataWorks资源组:请先创建服务关联角色

image.png

那么我们就先创建服务关联角色,点击【创建】按钮,系统会帮我们自动关联好角色,然后再次点击【确认订单并支付】可以看到资源校验信息,

image.png

点击【下一步:价格清单】可以看到具体的价格清单内容

image.png

继续点击【下一步:创建订单】等待大约30s左右,可以看到生成的订单详情,这里我是新账号,还没有购买过Dataworks 服务,因此这里是免费试用资格,价格 0元,点击【支付】完成Dataworks 服务开通。

image.png

在Dataworks 控制台点击【资源组】可以看到我们已经创建成功的 Dataworks资源组信息

image.png

资源组开通公网

这里由于DataWorks访问该原始测试数据并确保本次实验可顺利开展,您需要确保您的DataWorks资源组已具备公网访问能力。如果没有开通公网访问能力,在后面操作绑定MaxCompute数据源导入数据时会提示以下错误信息,因此这里要开通DataWorks资源组已具备公网访问能力

image.png

登录专有网络-公网NAT网关控制台,切换地域到北京地域,单击创建NAT网关,配置相关参数,选择所属地域,实例名称,其他的默认

image.png

继续选择访问模式、选择新购弹性公网IP,其他的默认

image.png

点击【立即购买】后确认公网NAT网关信息后点击【立即开通】

image.png

等待大约5分钟,完成DataWorks 资源组公网访问能力的开通

image.png


创建工作空间

工作空间是DataWorks中进行任务开发和成员权限管理、协同开发的基本单元,DataWorks所有开发工作都将在工作空间内进行。下面需要先创作我们后面将要用到的工作空间,点击Dataworks控制台【工作空间】-【创建工作空间】,输入工作空间名称,选择生产、开发环境隔离

image.png

选择我们刚才开通 Dataworks服务时默认创建的资源组,点击【创建工作空间】完成工作空间的创建

image.png

创建MaxCompute数据源

由于我们后续的操作需要用到MaxCompute数据源,因此在DataWorks工作空间内绑定MaxCompute数据源前,需创建MaxCompute项目。登录MaxCompute控制台,在左上角选择地域。点击【项目管理】-【新建项目】输入项目名称、资源付费类型、数据类型等信息后点击【确定】完成MaxCompute项目的创建

image.png

创建成功后就可以点击【项目管理】看到我们创建成功的 MaxCompute项目

image.png

这里有个疑问就是说,按照文档操作,在创建完成 DataWorks 工作空间之后,需要在MaxCompute 控制台创建项目,但是上图中的项目名并不是我创建的,而是自动创建的,创建时间和我开通 Dataworks服务成功的时间是一致的。   另外就是文档中描述,在创建完成 MaxCompute 项目后,需要进行MaxCompute数据源绑定,按照文档中的操作点击 MaxCompute 后面的三点,这里我并没有看到文档中的操作描述,其中文档中是这样描述的:单击工作空间操作列的 > 创建数据源 > MaxCompute    文档中的截图如下

p842838.png

而在实际的 MaxCompute 的控制台项目管理并没有这样的内容,而是这样,那么这里我就先跳过这里的步骤,后面有问题再返回来排查

image.png

用户画像分析

下面我们就开始进行用户画像分析的任务开发操作。本次用户画像分析流程主要是:网站用户行为分析案例通过DataWorks数据集成模块的离线同步能力,将业务数据同步至MaxCompute,然后通过DataWorks数据开发(DataStudio)模块的ODPS SQL,完成用户画像的数据加工,最终将加工结果写入ads_user_info_1d表。

任务开发

登录Dataworks控制台:https://dataworks.console.aliyun.com/overview 选择【ETL工作流模版】找到 网站用户画像分析,点击【查看详情】

image.png

在 网站用户画像分析 详情页,点击【载入模版】

image.png

在载入模版详情页,选择工作空间、数据源名称、调度 资源组名称、集成资源组名称,其他默认

image.png

这里需要注意一点,由于我们上面在绑定 MaxCompute 数据源时根据文档操作无法正常创建数据源,此时我们在这里选择MaxCompute 数据源是没有的,因此我们可以点击【新建数据源】跳转到 MaxCompute数据源创建页面创建数据源

image.png

在跳转页面选择【数据源列表】-【新增数据源】

image.png

选择 MaxCompute后

image.png

在 MaxCompute 数据源创建页面输入数据源名称、选择所属云账号、地域、Maxcompute项目名称,开发环境和生产环境都要选择,然后点击【完成创建】

image.png

这里有点疑惑,就是说在创建 MaxCompute数据源时,区分开发环境和生产环境的MaxCompute项目名称,但是文档中在描述创建MaxCompute 项目时却明没有区分开发环境和生产环境,而只是简单的提了一下创建MaxCompute项目,

image.png

在后面创建MaxCompute数据源时文档中却可以选择开发环境和生产环境的独立的 MaxCompute项目。这里考虑到我是测试,并不是真的需要投产,因此这里不再区分MaxCompute项目的环境问题,默认都选择一个了。等待MaxCompute数据源创建成功之后,数据源列表自动刷新可以看到如下内容

image.png

此时再回到我们的载入模版页面选择 MaxCompute数据源之后,点击【确认】之后提示我们的数据源 DataStudio未绑定此类数据源,请先绑定

这个错误信息在部署文档中也是没有提到,那么我就先按照文字提示点击【绑定】

image.png

这里点击【绑定】跳转到的DataWorks 数据开发平台可以看到目前无法绑定数据源,因为开发和生产项目名冲突,那么这里我们只能回到

image.png

那么我们只能回到MaxCompute控制台,重新创建一个新的空间用于开发环境和生产环境,

image.png

创建完成之后,回到DataWorks 数据开发平台,点击【编辑】

image.png

更新完MaxCompute数据源生产环境 MaxCompute项目名称后,点击【完成编辑】

image.png

再次回到载入模版页面,DataStudio未绑定此类数据源,请先绑定  点击【绑定】跳转到 DataWorks数据开发页面点击【绑定】完成数据源绑定

image.png

然后回到载入模版页面点击【确认】等待数据导入成功,导入成功后的页面如图

image.png

点击【前往查看】跳转到DataWorks 数据开发页面 https://ide2-cn-beijing.data.aliyun.com/?defaultProjectId=218787#  在数据开发页面我们可以看到打开的业务流程画布

image.png

任务运行

任务开发完成后,我们可以通过运行任务的方式来确认是否符合我们的预期,点击【运行】按钮

image.png

等待大约5分钟,待用户画像分析的业务节点全部运行成功之后,运行成功后可以看到用户画像分析的业务流程执行状态

image.png

双击最后一个节点的【用户行为分析结果查询】节点,跳转到节点详情页面,并按照图示说明,单独运行代码,查询ads_user_info_1d表,获取最终的用户画像数据。点击 ads_user_info_1d表 查询语句前面的运行按钮 image.png

在弹框中选择查询日期参数后点击【运行】

image.png

在运行之前,对于本次sql执行会有一个费用预估情况,确认费用情况后,点击【运行】

image.png

这里我查询20240831没有数据,那么我尝试换个日期查询更换为文档的20240829 也还是不行

image.png

再次查阅文档发现有这么一句描述,本案例的SQL中使用了调度参数${bizdate},表示业务日期为前一天。由于这句话描述在说明文字中,没有加粗标识,因此这里才出现了上面我输入的日期没有数据的情况。希望后面可以明显标识一下。

image.png

至于为什么我没有查询到数据,那是因为我是20241214进行的任务开发,那么获取到的数据需要查询的是当前日期前一天的数据,也就是20241213这一天的数据才可以,更改查询日期之后就可以看到如下的数据了

image.png

这里有一点需要说明,文档中并没有描述如何在DataWorks 数据开发平台这个sql查询页面来更换新的查询日期操作,这里我自己找到了一个办法可以,那就是你可以点击窗口顶部的【带参运行】按钮

image.png

在弹出的弹框中修改日期参数

image.png

修改完成后点击【运行】这里运行不是真的运行,在弹出的费用预估页面我们再点击【取消】

image.png

然后再次回到我们想要运行的sql语句前面,点击【运行】按钮

image.png

此时可以看到弹出的费用预估页面的时间参数已经是20241212了,不再是我们刚才第一次查询的时间参数20241213了

image.png

点击运行可以看到20241212也是没有数据的

image.png

DataWorks运维操作

在DataWorks数据开发页面的业务流程页面,点击顶部导航栏的【提交】按钮,【发布】按钮将任务发布至生产调度系统进行周期性自动调度运行

image.png

查看调度任务

任务发布后,我们可以在运维中心的周期任务页面查看空间下所有周期性调度的任务,并在此对周期任务执行相关运维操作,点击DataWorks数据开发平台的左上角的 三横

image.png

选择【运维中心(工作流)】

image.png

跳转到周期任务运维页面,点击【周期任务】菜单可以查看空间下所有处于调度系统中的任务

image.png

单击【用户行为分析案例说明任务名称,点击【DAG图】按钮进入DAG面板,右键用户行为分析案例说明 --  展开父/子节点 --六层,快速查看任务的上下游依赖关系。

image.png

双击DAG图任意节点可快速展开节点属性面板,您可以在此查看节点的基本信息、节点责任人、执行时间、操作日志以及调度运行的代码等

image.png

补同期数据

也可以通过补数据 来补历史或未来一段时间的数据,将写入数据至对应时间分区,可实现指定业务日期的数据处理,主要用于历史数据回刷,在周期任务列表找到【用户行为分析案例说明】节点,右键选择补数据 -- 当前节点及下游节点

image.png

在补数据页面,默认补数据名称,补数据包含当前任务选择【是】,下游任务全选

image.png

业务日期配置为去年的同期业务日期,点击【提交并跳转】

image.png

DataWorks通过实例的方式运行离线调度任务,对任务执行补数据操作后,我们可以查看实例详情确认补数据任务执行情况

image.png

我们可以点击任务名称,查看任务的具体执行信息以及任务的执行日志

image.png

点击【查看日志】可以看到当前节点的任务执行日志情况

image.png

后续任务正常调度后,我们可以在左侧导航栏单击周期任务运维 -- 周期实例界面,查看单个实例的运行情况

image.png

查询同期数据

待补数据实例运行完成后,请前往数据开发(DataStudio),创建临时查询节点,获取用户画像分析业务流程通过补数据产出的去年同期的分区数据,点击左上角的三横,选择 【DataStudio(数据开发)】

image.png

点击【临时查询】-【新建】-【ODPS SQL】

image.png

选择路径,输入查询名称,点击【确认】

image.png

在临时查询节点中,查询生产表ads_user_info_1d去年同期的数据


select * from  <生产项目名称>.ads_user_info_1d where dt = '<生产表实际被写入的分区>';


生产项目名称可以去MaxCompute控制台 https://maxcompute.console.aliyun.com/cn-beijing/project-list 查看具体的项目名称

image.png

整理后的sql内容如下

select * from  user_project_pro.ads_user_info_1d where dt = '20231213';

查询结果如图

image.png

到这里,我们关于使用DataWorks和MaxCompute产品组合来实现用户画像分析的目标已经实现,如果后面你不再使用的话,考虑到可能会造成的任务执行扣费,这里你可以选择释放资源。

释放资源

登录DataWorks控制台,切换至目标地域后,点击【运维中心】,选择你绑定的DataWorks工作空间,点击【进入运维中心】

image.png

选择【周期任务】菜单,勾选全部任务后,点击底部的【暂停(冻结)】按钮,

image.png

在弹框中确认信息后点击【继续】完成周期任务的冻结

image.png

如果您不再需要本教程的调度任务,可以单击操作 -- 下线节点

image.png

登录专有网络-公网NAT网关控制台,选择【公网NAT网关】,点击列表最后的三点,选择【删除】

image.png

勾选强制删除,点击【确定】完成公网NAT网关的资源释放

image.png

继续下拉菜单选择【弹性公网IP】,点击列表最后的三点,选择【释放】

image.png

在弹框中点击【确定】,验证手机号之后完成弹性公网IP资源的释放操作。

image.png

测评总结

一些反馈

在这次的使用使用DataWorks和MaxCompute产品组合进行数仓开发与分析,实现用户画像分析的操作过程中,文档中有一些描述和截图和现在DataWorks 控制台或者MaxCompute 控制台可以看到的操作项已经不同了,但是文档没有更新,在操作过程中有一定的误导作用,我在上面的操作步骤中已经详细的提供了具体的文档歧义的地方,以及解决的方案。另外对于一些操作上不太友好的地方,我在上面也提供了具体的解决办法。大家有需要的可以查阅,整个用户画像分析的操作从上到下,个人是完全操作顺畅的,操作上遇到的问题也都在文章内部解决了。

一些便利

DataWorks在任务开发页面任务的创建操作还是比较简便的,通过页面操作的方式,可以方便新手小白快速掌握完整的数据开发、治理流程,告别传统命令行,节省巨大的学习成本。一键开通即可完成开箱即用的数仓技术架构搭建,可以大大的节省企业的自研,部署,运维的压力,降低企业的成本。从真实的操作体验上来看,任务执行速度以及查询界面的可视化,sql语句和日常工作用的sql语句没有任何差别,比较方便开发者快速熟悉sql查询相关内容。

另外DataWorks支持多种数据源的数据任务开发和分析,可以涵盖大部分的市面上使用的业务数据库,

image.png

最后就是,目前数据的分析能力对企业的盈利能力以及决策方向的制定有着至关重要的作用,那么DataWorks可以助力企业在数据传输、开发、生产、治理、安全领域,每个领域深度覆盖大数据全生命周期,轻松帮助企业应对在搭建数仓、搭建数据中台、数字化转型项目中遇到的难题。希望更多的企业可以加入进来,从而让企业数据活起来,动起来,管得好数据、用得好数据,让数据从低质低效向高质高效流动,促使企业盈利。






相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
打赏
0
5
7
0
1619
分享
相关文章
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
31 7
大数据& AI 产品月刊【2024年12月】
大数据& AI 产品技术月刊【2024年12月】,涵盖本月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
52 1
DataWorks产品体验测评
一文带你了解DataWorks大数据开发治理平台的优与劣
139 11
DataWorks产品体验与评测
在当今数字化时代,数据处理的重要性不言而喻。DataWorks作为一款数据开发治理平台,在数据处理领域占据着重要的地位。通过对DataWorks产品的体验使用,我们可以深入了解其功能、优势以及存在的问题,并且与其他数据处理工具进行对比,从而为企业、工作或学习中的数据处理提供有价值的参考。
64 6
DataWorks产品体验与评测
DataWorks产品评测与最佳实践体验报告
DataWorks是阿里巴巴云推出的一款高效数据处理平台,通过内置的数据集成工具和ETL功能,实现了多源数据的自动化处理与分析。本文介绍了DataWorks在用户画像分析中的应用实践,展示了其如何帮助企业高效管理数据资源,支持决策制定及营销优化。同时,文章还评测了DataWorks的产品体验,包括开通流程、功能满足度等方面,并与其它数据开发平台进行了比较,突出了DataWorks在易用性、性能和生态完整性上的优势。最后,对Data Studio新版本中的Notebook环境进行了初步探索,强调了其在提升开发效率方面的价值。
76 16
DataWorks产品评测:数据处理与分析的最佳实践
DataWorks是阿里巴巴推出的大数据开发治理平台,支持从数据采集、预处理、存储到分析的全流程操作。本文评测了其在用户画像分析中的应用,包括数据收集、清洗、特征工程、模型训练、结果评估及应用部署等步骤,展示了其在提高数据资产管理效率、支持多种编程语言和技术栈、集成丰富可视化工具等方面的优势。同时,文章也指出了DataWorks在使用过程中的一些不便与问题,并提出了改进建议。
75 17