数栖平台应用场景实践——个性化推荐(文字版教程)

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

企业想要落地个性化推荐,借助数栖平台究竟该如何做开发?跟着这篇教程找找思路吧!

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

当前企业标签杂乱,客户价值挖掘深度不够,在数据量大的情况下,传统的大数据开发方式效率非常低下,可复用性低,而且开发结果难以适应快速变化的业务。借助数澜成熟的标签类目体系构建方法论,能有效挖掘客户价值,提升准确性。再通过数栖平台的开发中心,将数据开发以任务流的形式拆解,提高数据开发效率,减少重复开发,快速支撑运营业务,帮助运营实现高效推送,持续为企业带来价值

接下来我们将通过拆解数据工作流开发工作流运行提交数据应用展示三个步骤,带大家了解数栖平台个性化推荐场景的数据开发流程,希望大家能够借助这个教程,学习到如何帮助自己的企业实现个性化推荐。

在进行个性化推荐之前,我们需要先知道我们拥有的用户特征,这样才能有针对性的推荐商品、广告或者一些其它内容。这里假设我们要为一些投资人推荐一些项目,因为项目有大有小,也分散在不同的行业,所以对阅历、创投年限都有一定的要求。因此我们假定两个标签来选取不同人原来推创项目,一个是年龄,一个是创投年限,年龄取值范围为18岁及其以下,19到29岁,30到39岁,40到49岁,50到60岁,60岁以上;创投年限为枚举值。

在提取这些用户之后,我们可以组合筛选并进行不同的内容投放。接下来我们进入实践演示环节:

Step 1.数据工作流开发

点击数栖平台离线开发界面 ---> 点击项目列表 ---> 点击新建项目 ---> 输入项目名称,输入完成后选择引擎类型,我们勾选hadoop,描述可自定义添加。点击确定后即项目创建成功。

项目创建成功后,点击项目配置,项目配置分为基础配置和环境配置,基础配置主要是针对作业类型的一个配置,依照开发需求,合理配置作业类型,能在一定程度上提高平台的运行效果。环境配置是任务运行的地方,同一项目下可以创建多个环境进行数据开发,每个环境拥有的独立 hive 数据库、yarn 的调度队列,甚至不同的hadoop集群,可以为项目配置不同的环境级联模式,例如单环境模式、开发生产模式。

这里以开发生产模式为例。点击环境配置 ---> 立即添加,输入环境名称,依次选择默认资源组、计算引擎、调度队列,同时输入数据库。点击确定,添加成功

接下来我们需要添加数据源,选择数据源,点击确定。

项目创建完成后,点击进入开发,开发界面中我们可以看到工作流目录下有两个工作流,一个是默认工作流,另一个是空白工作流。数栖平台默认提供两套工作流模板供用户使用,一套是基于数仓分层建设的默认工作流,另外的空白工作流支持用户自定义,作为演示我们使用默认工作流进行数据开发,点击默认工作流。工作流被分为原始数据层 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 语句粘贴进去,运行成功则表示任务创建成功。

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

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

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

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

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

表新建完成后,我们还需要创建一个离线任务,进行DWD层的数据聚合连接。因为我们的场景需求需要我们根据客户浏览商品的记录,借助用户画像,实现精准化用户推荐。我们点击数据标签层TDM下的job子目录,我们新建一个离线作业,所属工作流选择默认工作流,作业类型我们选择以hive为例,点击hive,选择完成后点击确定。

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

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

在这里我们需要新建一个个性化推荐目录,点击新建一个目录,创建名称,输入完成后点击确定。

在个性化推荐的子目录下新建两个分别为 DDL 和 job 的子目录。

创建完成后,我们还需要在 ADM 层下新建一个个性化推荐标签表,点击 DDL 下的子目录,新建离线作业。所属工作流类型选择默认工作流,作业类型选择 DDL,选择完成后点击确定。

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

我们创建完成个性化推荐标签表之后,还需要创建一个离线任务。点击job 子目录,新建离线作业,所属工作流选择默认工作流,作业类型作为演示选择hive,选择完成后点击确定,任务创建成功。

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

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

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

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

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

Step 2.数据应用展示

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

收藏此文章 点赞此文章

评论 (1)

  • dipper372642

    1楼

评论此篇文章

登录后可回复
/1000