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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 本文介绍了如何使用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
相关文章
|
7天前
|
数据采集 人工智能 DataWorks
DataWorks产品最佳实践测评
DataWorks产品最佳实践测评
|
7天前
|
数据采集 DataWorks 大数据
开发者评测:DataWorks — 数据处理与分析的最佳实践与体验
阿里云DataWorks是一款集成化的大数据开发治理平台,支持从数据导入、清洗、分析到报告生成的全流程自动化。通过用户画像分析实践,验证了其高效的数据处理能力。DataWorks在电商和广告数据处理中表现出色,提供了强大的任务调度、数据质量监控和团队协作功能。相比其他工具,DataWorks易用性高,与阿里云服务集成紧密,但在API支持和成本优化方面有待提升。总体而言,DataWorks为企业提供了强有力的数据开发和治理支持,尤其适合有阿里云生态需求的团队。
63 17
|
7天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
76 15
|
10天前
|
数据采集 分布式计算 大数据
MaxCompute MaxFrame 产品评测报告
MaxCompute MaxFrame是阿里云自研的分布式计算框架,专为Python开发者设计。它支持Python接口,充分利用MaxCompute的大数据资源,提升大规模数据分析效率。本文分享了MaxFrame在分布式Pandas处理和大语言模型数据预处理中的最佳实践,展示了其在数据清洗、特征工程等方面的强大能力,并提出了改进建议。
44 13
|
9天前
|
SQL DataWorks 数据可视化
阿里云DataWorks评测:大数据开发治理平台的卓越表现
阿里云DataWorks是一款集数据集成、开发、分析与管理于一体的大数据平台,支持多种数据源无缝整合,提供可视化ETL工具和灵活的任务调度机制。其内置的安全体系和丰富的插件生态,确保了数据处理的高效性和安全性。通过实际测试,DataWorks展现了强大的计算能力和稳定性,适用于中小企业快速搭建稳定高效的BI系统。未来,DataWorks将继续优化功能,降低使用门槛,并推出更多灵活的定价方案,助力企业实现数据价值最大化。
|
10天前
|
机器学习/深度学习 分布式计算 数据处理
MaxCompute MaxFrame 产品评测报告
MaxCompute MaxFrame 产品评测报告
23 4
|
12天前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
12天前
|
分布式计算 DataWorks 搜索推荐
聊聊DataWorks这个大数据开发治理平台
聊聊DataWorks这个大数据开发治理平台
44 2
|
3天前
|
分布式计算 DataWorks 监控
DataWorks产品体验评测、
DataWorks产品体验评测、
19 0
|
9天前
|
分布式计算 DataWorks 搜索推荐
DataWorks产品评测:大数据开发治理平台的最佳实践与体验
DataWorks是阿里云推出的一款大数据开发治理平台,集成了多种大数据引擎,支持数据集成、开发、分析和任务调度。本文通过用户画像分析的最佳实践,评测了DataWorks的功能和使用体验,并提出了优化建议。通过实践,DataWorks在数据整合、清洗及可视化方面表现出色,适合企业高效管理和分析数据。
60 0

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    126
  • 2
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    123
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    117
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    101
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    110
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    120
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    128
  • 8
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    169
  • 9
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    93
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    133