实验介绍

本实验以简单的用户画像分析为例,带您熟悉DataWorks的主要功能和常见任务。实验内容包括DataWorks+EMR、DataWorks+MaxCompute、DataWorks+StarRocks以及DataWorks+Spark四种不同版本。

实验目标

目标预期

  1. 实操该实验后,可对DataWorks的主要功能有所了解。

  2. 实操该实验后,可在DataWorks中独立完成数据同步、数据开发和任务运维等数据岗位常见任务。

目标人群

开发工程师、数据分析师、产品运营以及需要数仓数据获取与数据分析洞察人员。

实验设计

实验背景

为了更好地制定企业经营策略,现需要从用户网站行为中获取网站用户群体基本画像数据,例如,用户群体地理属性、社会属性等,实现定时定点进行画像分析,进而实现网站流量精细化运营操作,通过DataWorks在线学习的方式完成以下场景。

  • 同步数据。

  • 加工数据。

  • 管理数据。

  • 消费数据。

涉及产品

在用户画像分析任务流程中涉及到原始数据存储数据库、计算存储数据库以及对整个流程开发的平台,以下为在本实验中涉及到的不同的产品介绍。

  • 原始数据存储产品。

    • rds_mysql云数据库RDS MySQL版

      • 在本实验中存储用户信息,默认提供实验用户信息数据源基本信息。

      • 产品详情请参见什么是RDS MySQL

    • oss 对象存储OSS对象存储OSS

      • 在本实验中存储日志信息,默认提供实验日志信息数据源基本信息。

      • 产品详情请参见什么是对象存储OSS

      重要

      EMR版中接收实验用户信息与实验日志数据的OSS数据源、StarRocks版中存储需要在StarRocks中注册函数.jar包的OSS数据源,均需要自备。

  • 计算存储产品。

    • emr开源大数据平台 E-MapReduce

      • 在本实验中加工处理原始数据以生成所需数据,并将其存储,本实验为EMR on ECS

      • 产品详情请参见什么是EMR on ECS

    • MaxCompute云原生大数据计算服务MaxCompute

      • 在本实验中加工处理原始数据以生成所需数据,并将其存储。

      • 产品详情请参见什么是MaxCompute

    • StarRocks开源全托管服务EMR Serverless StarRocks

      • 在本实验中加工原始数据以生成所需数据,并将其存储,本实验为EMR Serverless StarRocks

      • 产品详情请参见什么是EMR Serverless StarRocks

    • apachespark (2)开源全托管服务EMR Serverless Spark

      • 在本实验中加工原始数据以生成所需数据,并将其存储,本实验为EMR Serverless Spark。

      • 产品详情请参见什么是EMR Serverless Spark

    重要

    该案例是基于DataWorks使用开源大数据平台 E-MapReduce、云原生大数据计算服务MaxCompute开源全托管服务EMR Serverless StarRocks开源全托管服务EMR Serverless Spark这四种产品其一为数据源操作的,确保拥有其一即可。

  • 开发调度产品

    • dide DataWorks一站式大数据开发治理DataWorks

      • 在本实验中对原始数据进行同步、加工、质量监控、数据消费等操作与使用任务调度的数据中台。

      • 产品详情请参见什么是DataWorks

工作流设计

在本实验中,您可以根据您现有不同引擎选择不同版本的用户画像分析实验流程进行操作,共提供了MaxCompute版、EMR版、StarRocks版以及Spark版,四种版本引擎的用户画像分析文档,流程的步骤如下。

  1. 通过数据集成获取不同数据源中的用户基本信息数据和用户访问日志信息至引擎中。

  2. 在引擎中将获取到的日志数据通过加工拆解为可分析的字段。

  3. 在引擎中将用户基本信息和初步加工后的日志数据进汇总加工。

  4. 进一步加工产出基本用户画像。图片3

涉及模块

本实验涉及的DataWorks模块如下。

步骤

操作内容

阶段性目标

同步数据

对存储在MySQL中的用户信息数据及存储在OSS中用户访问日志数据配置同步链路同步至MaxCompute、EMR或StarRocks。

学习如下内容:

  • 如何将不同数据源数据同步到MaxCompute、EMR、StarRocks或Spark。

  • 如何新建对应数据源的表。

  • 如何快速触发任务运行。

  • 如何查看任务日志。

加工数据

使用数据开发概述模块,将日志数据通过函数、正则等方式拆解为可分析字段,并与用户信息表加工汇总产出基本的用户画像数据。

学习如下内容:

  • 如何基于DataWorks新建并配置数据流程节点。

  • 如何运行工作流。

管理数据

通过数据地图概述模块,对源端表数据进行元数据管理与查看。以及对源端数据变更过程中产生的脏数据进行监控,监控不通则阻断任务执行,避免影响扩大。

  • 学习如何基于DataWorks获取数据源表的元数据,以及搜索查看表详情信息。

  • 学习如何基于DataWorks为任务产出的表,配置数据质量的监控规则,以保证快速感知源端数据的变更过程中产生的脏数据,有效阻断脏数据向下游蔓延。

消费数据

  • 通过数据分析概述模块对最终结果表进行SQL查询分析。对最终结果表进行用户画像分析。例如,访问用户中地域分布分析、城市注册人数排行榜分析。

  • 通过数据服务API模块,将最终结果表创建为API服务。

学习如何基于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

星座

学习答疑

如果您在学习过程中遇到问题,请申请加入钉钉群进行咨询。