本案例以简单的网站用户画像分析为例,带您熟悉DataWorks的主要功能和常见任务,主要包含同步数据、加工数据、管理数据以及消费数据操作。
案例目标
案例预期
通过本案例的实操,您将能够在DataWorks中独立完成数据同步、数据开发和任务运维等常见数据岗位任务。
案例人群
本案例适合开发工程师、数据分析师、产品运营人员等需要从数据仓库中获取数据并进行分析与洞察的人员。
案例设计
为制定企业经营策略,需从用户网站行为数据中提取用户群体基本画像。例如,获取用户群体地理属性、社会属性等信息,实现定时定点调度,进而实现网站流量精细化运营操作,需要通过DataWorks完成以下操作。
涉及产品
在网站用户画像分析任务流程中涉及到原始数据存储数据库、计算存储数据库以及对整个流程开发的平台,以下是本案例中涉及的产品介绍。
产品分类 | 产品名 | 产品介绍 |
产品分类 | 产品名 | 产品介绍 |
数据库 | 由本案例提供该数据库,在本案例中用于存储用户基本信息。 | |
由本案例提供该对象存储,在本案例中用于存储日志信息。 | ||
计算引擎 | 本案例中,基于DataWorks使用云原生大数据计算服务MaxCompute、开源全托管服务EMR Serverless StarRocks、开源大数据平台 E-MapReduce 或开源全托管服务EMR Serverless Spark中的任意一种作为计算资源进行开发,对原始数据进行加工并存储到目标数据仓库中。 | |
数据中台 | 在本案例中,DataWorks作为数据中台,用于对原始数据进行同步、加工、质量监控、数据消费等操作,并支持任务调度。 |
在体验不同计算引擎下的网站用户画像分析时,数据库与DataWorks为不同网站用户画像分析时的公共资源。您只需为DataWorks工作空间将不同计算引擎绑定成计算资源即可。
当计算资源使用开源大数据平台 E-MapReduce或开源全托管服务EMR Serverless Spark时,接收案例用户基本信息和案例日志信息的OSS数据源,以及计算存储产品使用开源全托管服务EMR Serverless StarRocks时,用于存储StarRocks中注册函数
.jar
包的OSS数据源,均需要自备,并确保其具备足够的存储空间和访问权限。
场景设计
您需要将数据库与计算引擎,分别在DataWorks中创建为数据源与计算资源后,即可对计算资源中的数据进行加工处理,获取需要的用户群体地理属性、社会属性等信息,以及对数据信息进行管理与消费。
工作流设计
在本案例中,您可以根据不同引擎选择相应的网站用户画像分析流程。共提供了MaxCompute版、StarRocks版、EMR版以及Spark版四种版本引擎的网站用户画像分析文档。流程的步骤如下。
通过数据集成获取不同数据源中的用户基本信息数据和用户访问日志信息至引擎中。
在引擎中将获取到的日志数据通过加工拆解为可分析的字段。
在引擎中将用户基本信息和初步加工后的日志数据进行汇总加工。
进一步加工产出基本用户画像。
涉及模块
本案例涉及的DataWorks模块如下。
步骤 | 操作内容 | 阶段性目标 |
步骤 | 操作内容 | 阶段性目标 |
同步数据 | 同步MySQL中的用户信息数据及存储在OSS中用户访问日志数据至不同计算资源。
| 学习如下内容:
|
加工数据 | 使用数据开发模块,将日志数据通过函数、正则等方式拆解为可分析字段,并与用户信息表加工汇总产出基本的用户画像数据。 | 学习如下内容:
|
管理数据 | 通过数据地图概述模块,对源端表数据进行元数据管理与查看。以及对源端数据变更过程中产生的脏数据进行监控,监控不通则阻断任务执行,避免影响扩大。 |
|
消费数据 | 学习如何基于DataWorks将数据进行可视化展示和API服务创建。 |
案例数据
这些数据结构将在后续的数据同步、加工和管理步骤中用于生成用户画像。
案例日志数据结构
实际操作前,请先了解该项目背景下企业已有的业务数据及其数据格式,以及业务背景分析需要的目标用户画像基本结构。
以下是OSS中存储的user_log.txt
文件原始数据。
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];
可根据原始日志数据获取到以下有效信息。
字段名称 | 字段说明 |
字段名称 | 字段说明 |
$remote_addr | 发送请求的客户端IP地址。 |
$remote_user | 客户端登录名。 |
$time_local | 服务器本地时间。 |
$request | 请求,包括HTTP请求类型+请求URL+HTTP协议版本号。 |
$status | 服务端返回状态码。 |
$body_bytes_sent | 返回给客户端的字节数(不含header)。 |
$http_referer | 该请求的来源URL。 |
$http_user_agent | 发送请求的客户端信息,如使用的浏览器等。 |
案例用户信息数据结构
以下为MySQL用户信息数据表ods_user_info_d
的表结构:
字段名称 | 字段说明 |
字段名称 | 字段说明 |
uid | 用户名 |
gender | 性别 |
age_range | 年龄分段 |
zodiac | 星座 |
案例目标数据结构
根据原始数据分析可获得的有效数据,并基于业务需求确认最终数据表结构。
字段名称 | 字段说明 |
字段名称 | 字段说明 |
uid | 用户名 |
region | 地域 |
device | 终端类型 |
pv | 浏览量 |
gender | 性别 |
age_range | 年龄分段 |
Zodiac | 星座 |
学习答疑
如果您在学习过程中遇到问题,请申请加入钉钉群进行咨询。
- 本页导读 (1)
- 案例目标
- 案例预期
- 案例人群
- 案例设计
- 涉及产品
- 场景设计
- 工作流设计
- 涉及模块
- 案例数据
- 案例日志数据结构
- 案例用户信息数据结构
- 案例目标数据结构
- 学习答疑