用户画像分析(MaxCompute简化版)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
日志服务 SLS,月写入数据量 50GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。

通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并以网站用户画像分析为例分析用户行为等,实现能够在生产环境下的具体业务开发与周期调度。


环境准备

以下步骤为使用DataWorks和MaxCompute产品组合进行数仓开发的环境准备通用步骤。

步骤一:服务开通

本教程以华东2(上海)地域为例进行演示,请根据您华东2(上海)地域的服务开通情况,进行环境准备操作。


未开通DataWorks服务

请参考以下操作在华东2(上海)地域开通DataWorks版本服务、开通MaxCompute产品服务,并准备DataWorks任务调度和服务运行使用的Serverless资源组。


  1. 进入服务开通页。
    进入阿里云DataWorks官网,单击立即开通,即可进入DataWorks服务开通页。
  2. 开通服务。请根据下图指引选择服务,并根据界面提示配置相关参数后,点击确认订单并支付,完成后续服务开通。
  • 本案例选择开通(0元/月)DataWorks基础版服务,涵盖基本的数据集成、数据开发、调度能力,您也可根据业务实际需要的产品能力自行选择。
  • 在选择DataWorks资源组时,您需要为资源组绑定可连通的专有网络,绑定后,DataWorks资源组默认可访问您指定专有网络下的云服务。您可自定义该资源组名称。本案例资源组命名为Serverless_Resource_Group

  1. 确认资源。
    说明
    首次开通DataWorks服务,系统将会自动创建DataWorks默认工作空间和资源组,由于DataWorks默认工作空间简单模式,而本教程需要使用标准模式的工作空间,因此,只需要确认资源组创建成功即可。
    进入DataWorks资源组列表,在页面顶部切换地域为华东2(上海),确认已创建资源组。


已开通DataWorks服务

若您在华东2(上海)地域已开通过任意版本DataWorks服务,则只需创建资源组即可。

  1. 进入DataWorks资源组列表,在页面顶部切换地域为华东2(上海),单击新建资源组
  2. 请根据下图指引购买资源组,并根据界面提示配置相关参数后,单击立即购买,完成后续资源组购买。说明

截屏2024-12-09 15.39.56.png

  1. 确认资源。
    进入DataWorks资源组列表,在页面顶部切换地域为华东2(上海),确认已创建资源组。

截屏2024-12-09 15.41.56.png


步骤二:为资源组开通公网

DataWorks已提供本案例涉及的原始数据供您体验,并提供其公网访问地址。若要在DataWorks访问该原始测试数据并确保本次实验可顺利开展,您需要确保您的DataWorks资源组已具备公网访问能力。

步骤一创建的通用型Serverless资源组默认不具备公网访问能力,您需要通过公网NAT网关添加EIP的方式,为资源组绑定的VPC,使该资源组获得公网访问能力,具体操作参考下文。

  1. 登录专有网络-公网NAT网关控制台,在顶部菜单栏切换至华东2(上海)地域。
  2. 单击创建NAT网关,配置相关参数。

参数

取值

所属地域

华东2(上海)。

所属专有网络

选择资源组绑定的VPC和交换机。

您可以前往DataWorks资源组列表,切换地域后,找到步骤一已创建的资源组,然后单击操作列的网络设置,在数据调度 & 数据集成区域查看DataWorks资源组的绑定专有网络交换机参数。VPC和交换机的更多信息,请参见什么是专有网络

关联交换机

访问模式

VPC全通模式(SNAT)。

弹性公网IP

新购弹性公网IP。

关联角色创建

首次创建公网NAT网关时,需要创建服务关联角色,请单击创建关联角色

说明
上表中未说明的参数保持默认值即可。

  1. 单击立即购买,勾选服务协议后,单击确认订单,完成购买。

步骤三:创建工作空间

工作空间是DataWorks中进行任务开发和成员权限管理、协同开发的基本单元,DataWorks所有开发工作都将在工作空间内进行,请参考以下内容准备DataWorks工作空间,为本案例提供基本开发环境。

  1. 进入工作空间列表页。
    进入工作空间列表,在页面顶部切换地域为华东2(上海),然后单击创建工作空间
  2. 创建工作空间。
    请根据下图指引自定义工作空间名称、指定空间模式(生产、开发环境隔离),设置默认资源组配置步骤一创建的资源组。其他参数可使用默认值或不填写。
    重要说明
    DataWork工作空间名称全网唯一,请勿与本教程完全一致,您可以自定义工作空间名称或添加唯一标识作为后缀,避免因命名冲突而报错。


步骤四:创建并绑定MaxCompute数据源

在DataWorks数据开发中新建MaxCompute项目,并将其绑定至数据开发模块作为数据开发计算和存储的引擎服务,为本教程提供计算和存储能力。

  1. 创建MaxCompute空间在DataWorks工作空间内绑定MaxCompute数据源前,需创建MaxCompute项目。
  1. 登录MaxCompute控制台,在左上角选择地域。
  2. 在左侧导航栏选择工作区 > 项目管理,并单击新建项目

  3. 新增项目对话框,根据界面提示文案配置项目信息后,单击确定
    其中需重点关注的配置参数如下,其他参数可参考界面提示文案进行配置。关于参数详情,您也可参见项目管理

参数

描述

计算资源付费类型默认Quota

您可根据已购买的MaxCompute的资源情况选择使用哪种。

  • 包年包月
    如果您已购买了包年包月的MaxCompute资源,您可将资源做好Quota规划,为本项目选择后续作业运行需要使用的包年包月资源Quota。Quota规划与管理请参见计算资源-Quota管理
  • 按量付费
    MaxCompute开通时默认购买的为按量计费标准版的MaxCompute,如果您没有购买其他MaxCompute资源,可选择按量付费,并选择默认后付费Quota


       d. 创建成功后,即可在左侧导航栏的工作区 > 项目管理中查看新创建的MaxCompute项目。



  1. 前往MaxCompute数据源绑定页。您可以通过多种方式进行MaxCompute数据源绑定:

   您可以从工作空间列表页如下位置创建并绑定MaxCompute数据源。

  1. 单击工作空间操作列的 > 创建数据源 > MaxCompute

  2. 数据源页面,单击新建数据源,然后选择MaxCompute


您还可以直接进入DataWorks数据开发中,手动创建并绑定MaxCompute数据源。

a. 单击工作空间操作列的快速进入 > 数据开发

b. 在左侧导航栏单击数据源 ),然后在数据源页面,单击新建数据源,选择MaxCompute



  1. 请根据下图指引创建并绑定MaxCompute数据源。

关键参数说明:

  • 本教程数据源名称MaxCompute_Source为例,您可以自定义。
  • 所属云账号:配置为当前阿里云主账号
  • 地域:选择与当前DataWorks空间一致的地域华东2(上海)地域。
  • MaxCompute项目名称:选择华东2(上海)地域下已创建的MaxCompute项目。
    重要
    MaxCompute项目名称全网唯一,不允许重名,请勿与本教程完全一致,您可以自定义项目名称或添加唯一标识作为后缀,避免因命名冲突而报错。
  • 默认访问身份:开发环境默认为执行者,生产环境可根据当前登录账号进行下拉选择。
  • 如您当前登录的为主账号或RAM管理员账号:可以选择所有身份。
  • 如您当前登录的为子账号/RAM角色:
  • 是该项目的Super_Administrator或Admin角色:可以选择所有身份。
  • 不是该项目的Super_Administrator或Admin角色:仅能选择自己的身份。
  • Endpoint:选择自动适配
  1. 单击新建数据源并绑定数据开发
  2. 根据页面提示,刷新数据开发数据源页面后,即可看到已创建并绑定的MaxCompute数据源。



任务开发

本教程以网站用户画像分析为例,为您介绍如何通过DataWorks和MaxCompute产品组合实现具体业务开发与周期调度。


步骤一:流程设计

网站用户行为分析案例通过DataWorks数据集成模块的离线同步能力,将业务数据同步至MaxCompute,然后通过DataWorks数据开发(DataStudio)模块的ODPS SQL,完成用户画像的数据加工,最终将加工结果写入ads_user_info_1d表。业务数据包括:

  • 存储于MySQL中的用户基本信息(ods_user_info_d),平台默认提供,无需开通,将访问信息以添加数据源的方式配置到您的空间即可在您空间下访问这份数据。
  • 存储于OSS中的网站访问日志数据(user_log.txt),平台默认提供,无需开通,将访问信息以添加数据源的方式配置到您的空间即可在您空间下访问这份数据。


步骤二:任务开发

基于步骤一:流程设计,在DataWorks完成工作流的任务开发。DataWorks已提供本教程的相关代码,您可参考以下操作通过一键导入快速体验该案例。后续您也可参考用户画像分析(MaxCompute版)逐步实操进行体验。

  1. 进入ETL工作流模板页面。
    进入ETL工作流模板,找到网站用户行为分析模板,单击查看详情
  2. 载入模板。在模板详情页,单击载入模板。然后根据下图指引完成模板载入。

关键参数说明:

  • 工作空间:选择ETL案例模板导入的目标工作空间,配置为步骤三创建的工作空间。
  • 数据源名称:选择为本教程提供计算和存储服务的数据源,配置为步骤四创建并绑定至数据开发的MaxCompute数据源。
  • 调度资源组和集成资源组:选择执行任务同步和任务调度的资源组,配置为步骤一创建的资源组。
  • 载入方式:选择当案例包含的节点或资源已经在该空间存在时的处理策略,保持默认即可。
  • 发布规则:选择任务导入后是否直接进入生产调度系统进行每日自动调度,保持默认即可,取消选中表示仅在数据开发测试使用,不自动调度,后续您可手动发布。
  1. 确认载入结果。
    载入模板页面,单击确认后将自动开始载入,您可以在页面弹窗中查看导入进度,所有内容导入完成后,您可以单击前往查看
    说明
    关闭导入进度窗口,不会影响模板的导入,您可以单击工作空间操作列的快速进入 > 数据开发前往数据开发模块查看导入的模板内容。

  2. 查看案例介绍。在数据开发业务流程下,双击体验案例1_用户行为分析,打开业务流程画布。您可以双击画布中业务流程的第一个节点( ),查看该业务流程的案例背景和各节点加工逻辑说明等。说明
  • 在首次业务流程执行成功前,打开离线同步任务节点( )会因同步目标MaxCompute表不存在而报错,您可以先手动运行上游节点(table_ddl_ods_raw_log_dtable_ddl_ods_user_info_d),创建目标表后,再查看离线同步详情。
  • 如果业务流程画布中显示效果与下图不一致,可单击画布中的 进行格式化。

         


步骤三:任务运行

任务开发完成后,可通过以下方式确认代码及流程是否符合预期。

  1. 运行用户画像业务流程。
    导入的案例为完整案例,您可以在业务流程画布中,单击运行按钮运行整个业务流程。

  2. 查看业务流程运行过程。
    请耐心等待2~3分钟,确保所有任务节点均运行成功(如下图所示)后,再进行后续步骤。

  3. 确认用户画像数据。

单独运行最后一个任务节点,即可查看最终产出的用户画像数据。在业务流程画布中,双击业务流程中最后一个节点用户行为分析结果查询,进入节点详情页面,并按照图示说明,单独运行代码,查询ads_user_info_1d表,获取最终的用户画像数据。

说明

  • DataWorks提供调度参数,可实现代码动态入参,您可在SQL代码中通过${变量名}的方式定义代码中的变量,并在调度配置>调度参数处,为该变量赋值。调度参数支持的格式,详情请参见调度参数支持的格式。本案例的SQL中使用了调度参数${bizdate},表示业务日期为前一天。
  • 若查询的分区没有数据或报错分区不存在,请再次执行业务流程,并通过日志查看代码中的${bizdate}替换情况,明确数据最终写入的分区。

       
运行结果示例:


任务运维

步骤一:任务发布至生产环境

待数据开发(DataStudio)中用户画像分析业务流程运行无误后,您可以参考如下步骤,通过提交发布流程,将任务发布至生产调度系统进行周期性自动调度运行。

如果您在导入时未勾选自动发布,请手动将任务发布至生产环境。

步骤二:查看生产调度任务

任务发布后,您可在运维中心>周期任务页面查看空间下所有周期性调度的任务,并在此对周期任务执行相关运维操作。

  1. 在左上角单击 > 全部产品 > 数据开发与运维 > 运维中心(工作流)
  2. 在左侧导航栏单击周期任务运维 > 周期任务,您可以查看空间下所有处于调度系统中的任务,通常,这些任务都将按照调度配置情况自动调度。您可以参考图示位置确认生产环境任务状态,包括但不限于:
  • 生产任务依赖关系:单击用户行为分析案例说明任务名称,进入DAG面板,右键用户行为分析案例说明 > 展开父/子节点 > 六层,快速查看任务的上下游依赖关系。

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

说明

如果该界面未找到任务,请参考步骤一:任务发布至生产环境手动执行任务发布操作。

步骤三:补数据回刷去年同期数据

补数据可通过补历史或未来一段时间的数据,将写入数据至对应时间分区,可实现指定业务日期的数据处理,主要用于历史数据回刷。

本教程通过补数据功能将业务库去年同期的数据回刷至MaxCompute,并在MaxCompute完成历史同期的用户画像数据加工。

  1. 周期任务列表找到用户行为分析案例说明节点,右键选择补数据 > 当前节点及下游节点

  2. 补数据页面配置相关参数。


关键参数说明:

  • 补数据包含当前任务:配置为
  • 选择下游节点:全选下游节点。
  • 业务日期:配置为去年的同期业务日期。
  1. 单击提交并跳转,查看补数据任务是否成功。
    DataWorks通过实例的方式运行离线调度任务,对任务执行补数据操作后,您可查看实例详情确认补数据任务执行情况。

  2. 您可以单击某个任务节点,然后单击查看日志

  3. 确认数据写入的MaxCompute表及分区。


后续:查看任务周期调度情况

周期任务列表中的任务将通过实例的方式运行,周期任务自动调度将生成周期实例,调度周期不同,每日生成的实例个数不同。后续任务正常调度后,您可以在左侧导航栏单击周期任务运维 > 周期实例界面,查看单个实例的运行情况。

说明

  • 小时任务定义00:00~23:59之间,每小时调度一次,那么在周期实例界面每天将生成24个小时实例,每个实例有自己的实例ID作为唯一标识,同一个任务产生的所有实例的任务ID(节点ID)相同。
  • 若周期调度任务运行异常,可查看实例日志快速定位异常原因。


任务查询

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

  1. 在左上角单击 > 全部产品 > 数据开发与运维 > DataStudio(数据开发)
  2. 创建临时查询节点。

  3. 在临时查询节点中,查询生产表ads_user_info_1d去年同期的数据。
select * from  <生产项目名称>.ads_user_info_1d where dt = '<生产表实际被写入的分区>';

本教程中,DataWorks生产环境绑定的MaxCompute项目名为user_profile_mc_pro,补数据业务日期为20230829

说明

     



限时优惠

首次购买或升级到标准版/专业版可享受企业版独有数据资产治理功能免费体验1个月;

新购或低版本即将到期升级至企业版首月299元优惠,申请入口

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
7月前
|
存储 分布式计算 监控
MaxCompute的使用技巧和典型使用场景
【4月更文挑战第1天】MaxCompute的使用技巧和典型使用场景
121 2
|
6月前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之湖仓加速版查询maxcompute外部表,有什么优化途径吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
7月前
|
SQL 数据采集 分布式计算
MaxCompute产品使用合集之大数据计算MaxCompute的PyODPS API相比ODPSSQL那个数据清洗的效率高
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
存储 SQL JSON
一些MaxCompute日常优化案例分享
MaxCompute优化是一个多样而又重要的过程,优化过程需要能够深入理解ODPS的工作原理和内部机制,本文总结了以下几个日常优化案例,最终优化手段可能非常简单,但其中的分析过程较为重要,希望对大家有所启发。
|
4月前
|
DataWorks 负载均衡 Serverless
实时数仓 Hologres产品使用合集之如何导入大量数据
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
4月前
|
SQL 存储 分布式计算
实时数仓 Hologres产品使用合集之是否可以代替关系库
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
4月前
|
DataWorks 调度 数据库
实时数仓 Hologres产品使用合集之通用和计算组型有什么区别
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
5月前
|
DataWorks 监控 数据挖掘
DataWorks产品使用合集之数据分析维表有什么用处
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
SQL DataWorks 安全
DataWorks产品使用合集之在进行数据查询和数据处理时,如何通过数据建模与开发模块来创建和管理SQL脚本
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之查看表的血缘关系有哪些方法
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。