数栖平台应用场景实践——用户画像(文字版教程)

学习委员    发布于:2019-07-30 浏览 1424

相关视频教程,请移步至学习专区进行学习。

本教程视频地址:https://bbs.dtwave.com/trains/show/5

现阶段,企业的各类用户数据分布在不同的业务系统当中,由于使用的数据库类型不同,导致数据分散难以汇聚,企业无法精确了解自己的用户特征,从而无法持续性的改善、调整、优化业务策略。借助数栖平台,开发人员可以轻松地联通企业各系统的数据,并进行深度加工处理,为业务人员提供源源不断的有效数据资源。业务人员可以快速了解用户,做出有效的业务决策,不断的提升运营效率,改进产品设计,提高营销效果。

在进行开发前,我们要先明确一下待开发标签的定义。当我们掌握了用户画像后,既可以了解某类人或者某个人的生活轨迹曲线,有针对性的更新迭代自身产品的内容,也可以为用户提供个性化精准的服务。通常用户画像会有性别、年龄、常住地活跃时段以及常用 App 等基础信息。电商公司会通过用户的购买记录来丰富用户画像的性格,比如最关注的商品品类,最近一次购买的商品品类等。

这里我们假定要开发某位用户的最关注商品品类的标签,就可以通过分析用户最近30天所浏览的所有商品所属品类,找到出现次数最多的商品品类偏好。通过发现哪些品类商品经常被查看,我们可以知道营销性行为,也可以反推业务决策或产品优化。

一、数据工作流开发

1.新建项目

点击数栖平台离线开发界面,在项目列表中选择新建项目,输入项目名称,引擎类型勾选 hadoop,描述可以自定义添加,点击确定。

2.项目配置

刚刚创建成功的项目为待配置状态,进入项目配置,项目配置分为基础配置环境配置,默认显示环境配置页面。

基础配置为针对作业类型的配置,依照开发需求合理配置作业类型,能在一定程度上提高平台的运行效果。

环境配置是对任务运行环境的配置,同一项目下可创建多个环境进行数据开发,每个环境拥有的独立 hive 数据库,yarn 的调度队列,甚至不同的 hadoop 集群,可以为项目配置不同的环境级联模式,例如单环境模式、开发生产模式。

这里以开发生产模式为例,点击环境配置中的立即添加按钮,环境名称自定义,资源组选择默认资源组,资源组选择完成后,我们需要配置计算引擎、调度队列及数据库,点击确定,添加成功。

最后,选择数据源,点击确定。整个项目配置完成。

3.项目开发

项目创建完成后,我们点击进入开发按钮,进入开发界面。数栖平台默认提供两套工作流模板供用户使用,一套是基于数仓分层建设的默认工作流,另外的空白工作流支持用户自定义,作为演示,我们使用默认工作流进行数据开发。

点击默认工作流,默认工作流被分为原始数据层 ODS数据仓库层 DWD数据标签层 TDM数据应用层 ADM 以及数据维度层 DIM。一般来讲数据开发的工作主要分为四个步骤:数据建模设计、数据汇聚采集、数据处理加工以及数据应用输出。数据建模设计指的是数据开发前的数据结构设计,数据开发模型设计、表设计以及数据开发流程图的绘制。因为我们这里示范的是数栖平台的开发实操,对于数据建模设计,这里不做过多深入讲解。

以下为我们提前设计好的用户画像场景实体关系图:

首先我们要把汇聚完成的数据从 ODS 层经过清洗梳理到 DWD 层,经过业务基础标签层开发一系列的指标后,再将它汇聚到 TDM 层进行更进一步的聚合统计,汇集到 ADM 层,也就是我们看到的最终数据,这就是本次场景的主要流程。

先来讲一下数据采集汇聚,数栖平台数据采集汇聚任务主要分为两类,一类是结构化数据同步任务,另外一类则是非结构化数据同步任务。结构化数据同步任务一般针对的是结构化的数据同步,支持,包括像 mysql、Oracle、hive 等等。前提是数据源管理中必须要有已经注册好的数据源,就是说必须要在数据源管理中新建好,并授权给相应的项目,该项目才能使用该数据源进行数据同步。这里作为示范,我们以 mysql 的数据源进行示范。为了便于开发沟通和识别,我们需要在 ODS、DWD、TDM、ADM 以及 DIM 下分别创建两个子目录,也就是 DDL 目录和 job 目录,分别用来存放不同类型的任务。

建好后,我们需要在 ODS 层下的 DDL 目录下新建一个 DDL 任务。点击 DDL 子目录新建一个离线作业,所属工作流类型选择默认工作流,作业类型选择 DDL,点击确定。接下来我们需要把准备好的 SQL 语句粘贴进来,保存后点击运行。

运行成功,则表示 DDL 任务创建成功。

接下来我们还需要创建一个同步任务。点击 job 子目录,新建离线作业,所属工作流类型选择默认工作,作业类型选择数据同步,点击确定。

数据源表示需要从哪里采集数据的数据库。我们本次开发场景数据源来源于业务系统的 mysql 数据库,源头表表示我们前面新建好的 mysql 数据源,目的表支持两种方式的建表,提前构建好的目的表以及新建目的表。本次作为演示,我们选择提前构建好的目的表。

选择好数据源后,点击下一步,这里分三种映射方式,作为演示,我们选择按名称进行字段映射。

点击下一步后,继续点击完成,创建成功。

运行一下,同步任务运行成功。

数据汇聚完成后,按照开发需求,我们要进入 DWD 层的开发。DWD 层又称数据仓库层,用来存放一些清洗完成的数据。数据清洗一般发生在 ODS 到 DWD 之间,DWD 层的数据是规整的,是可以直接拿来使用的数据。 本次场景下需要将用户数据进行规范化的清洗,包括时间格式的校验,用户 ID 的合法性判断,年龄合法值判断等。

与上面的步骤相同,我们需要在 DWD 层的 DDL 子目录下,先构建一个 DDL 任务,创建成功后,我们将 SQL 语句粘贴进去,运行成功则表示 DDL 任务创建成功。

表新建完成后,我们需要创建一个进行 ODS 层的数据清洗的离线任务,将一些脏数据进行过滤处理。点击 job 子目录,新建一个离线作业,所属工作流选择默认工作流,作业类型作为演示,这里选择 hive,选择完成后点击确定。

我们将准备好的 SQL 代码复制进来,点击运行,运行成功则数据清洗完成。

DWD 数据清洗完成后,我们需要在 TDM 数据标签层的 DDL 子目录下要新建一个用户基础标签表。

点击数据标签层,在 DDL 子目录下新建新建一个离线作业,所属工作流仍选择默认工作流,作业类型选择DDL,选择完成后点击确定。

将准备好的 SQL 语句复制进来,点击运行,作业运行成功则任务创建完成。

TDM 层的表新建完成之后,我们需要创建一个离线任务,进行 DWD 层的数据聚合连接。因为我们的场景需求需要我们根据客户浏览商品记录,计算出每个用户最关注的商品品类。我们点击数据标签层 TDM 下的 job 子目录,新建一个离线任务,并给它命名。所属工作流选择默认工作流。作业类型选择 hive,点击确定。

创建成功后我们把准备好的 SQL 代码复制进来,点击运行,作业运行成功后则任务创建成功。

我们在用户的基础标签开发完成之后,需要按照具体的场景需求,将基础标签进行更进一步的聚合统计。所以要在 ADM 数据应用层进行数据任务开发。ADM 是贴合具体的业务场景的,因此在 ADM 层下,我们可以通过新建子集目录来区分不同的数据应用场景和需求。 

在这里我们要新建一个用户画像目录。点击新建目录,创建名称,输入完成后点击确定。

在用户画像的子目录下分别新建 DDL 和 job 子目录。

创建完成后,我们还需要在 ADM 层下新建一个用户浏览偏好表,点击用户画像子目录下的 DDL 目录,新建离线作业。所属工作流类型选择默认工作流,作业类型选择 DDL,选择完成后点击确定。

我们把准备好的 SQL 粘贴进来,点击保存。保存成功后点击运行,作业任务运行成功则完成。

我们创建完成用户浏览偏好表之后,还需要创建一个离线任务。点击用户画像下的 job 子目录,新建离线作业,所属工作流选择默认工作流,作业类型作为演示选择 hive,选择完成后点击确定,任务创建成功。

将准备好的 SQL 代码复制进来,点击保存,保存成功后我们点击运行。

在 ADM 层的任务运行完成后,为了进行数据应用展示,我们还需要创建一个同步任务。 点击用户画像,新建目录,输入名称,完成后点击确定。

接下来我们需要在该目录下创建一个同步任务。点击新建离线作业,所属工作流选择默认工作流,作业类型选择数据同步,完成后点击确定。

接下来,我们需要选择源头表信息及目的表信息,全部配置完成后,点击下一步。

点击下一步,字段映射中选择按名称映射,创建成功后我们点击运行。作业运行成功数据开发完毕。

二、.数据应用展示

具体的数据应根据实际的需求来灵活选择,大家可以通过接入业务系统应用,也可以通过第三方可视化产品来展示。下面我们来看一下数据展示的效果。

收藏此文章 点赞此文章

评论 (0)

暂无用户回复

评论此篇文章

登录后可回复
/1000