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

简介: 本文介绍了如何使用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可以助力企业在数据传输、开发、生产、治理、安全领域,每个领域深度覆盖大数据全生命周期,轻松帮助企业应对在搭建数仓、搭建数据中台、数字化转型项目中遇到的难题。希望更多的企业可以加入进来,从而让企业数据活起来,动起来,管得好数据、用得好数据,让数据从低质低效向高质高效流动,促使企业盈利。






相关文章
|
3天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
5天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
5913 18
|
17天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
9天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
5天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
|
1月前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
9天前
|
Cloud Native Apache 流计算
PPT合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
3513 10
PPT合集|Flink Forward Asia 2024 上海站
|
2天前
|
弹性计算 运维 监控
阿里云云服务诊断工具:合作伙伴架构师的深度洞察与优化建议
作为阿里云的合作伙伴架构师,我深入体验了其云服务诊断工具,该工具通过实时监控与历史趋势分析,自动化检查并提供详细的诊断报告,极大提升了运维效率和系统稳定性,特别在处理ECS实例资源不可用等问题时表现突出。此外,它支持预防性维护,帮助识别潜在问题,减少业务中断。尽管如此,仍建议增强诊断效能、扩大云产品覆盖范围、提供自定义诊断选项、加强教育与培训资源、集成第三方工具,以进一步提升用户体验。
610 242
|
22天前
|
人工智能 自然语言处理 前端开发
100个降噪蓝牙耳机免费领,用通义灵码从 0 开始打造一个完整APP
打开手机,录制下你完成的代码效果,发布到你的社交媒体,前 100 个@玺哥超Carry、@通义灵码的粉丝,可以免费获得一个降噪蓝牙耳机。
5947 16
|
5天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
496 37