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

现今许多企业都存在数据分散,融合困难等问题,对于现有数据分析的不足,导致无法优化召回策略,提升召回效率。借助数栖平台,企业数据开发人员能够轻松打通原有业务系统数据,高效的完成数据处理以及标签开发工作,帮助业务精准实现老客召回,提升召回效率。

在进行开发前,我们要先明确一下待开发标签的定义。这里的老客户召回目的主要是防止或者减少用户的流失,并针对不同的客户特征、行为习惯运营,提升用户粘度。所以需要我们先将认为可能流失并且需要挽回的用户勾选出来。不同的企业和业务对不同的用户流失程度定义也不相同。

我们这里将用户流失程度定义为风险,并假定有四个等级,无风险,轻度风险,中度风险以及重度风险。风险等级通过最近在线时间的时间间隔来进行判断,计近30天,最近一次在线距离今天的天数,0 到 7 天视为无风险,8 到 14 天是为轻度风险,15 到 21 天是为中度风险,22 到 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 层是贴合具体的业务场景的,在该层下,我们可以通过新建子集目录来区分不同的数据应用场景和需求。

在这里我们要新建一个老客召回场景所需目录。点击新建目录,创建名称-老客召回,输入完成后点击确定。

在老客召回的子目录下分别新建 DDL 和 job 子目录。

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

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

在数据应用层ADM用户基础标签表创建完成之后,我们还需要创建一个离线任务。点击用户画像下的 job 子目录,新建离线作业,所属工作流选择默认工作流,作业类型作为演示选择 hive,选择完成后点击确定,任务创建成功。

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

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

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

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

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

二、数据应用展示

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

MySQL语句判断新老客_数栖云应用场景实践——老客召回(文字版教程)相关推荐

  1. ETL调度系统及常见工具对比:azkaban、oozie、数栖云 | 数澜科技

    最近遇到了很多正在研究ETL及其工具的同学向我们抱怨:同样都在用 Kettle ,起点明明没差异,但为什么别人ETL做的那么快那么好,自己却不断掉坑? 其实,类似于像 Kettle 这样开源的工具,已 ...

  2. windows10访客_如何在Windows 10中创建访客帐户

    windows10访客 If you find that your guests are asking fairly often to use your computer temporarily to ...

  3. mysql语句大全 新浪博客_经典的MYSQL语句

    这真是一个好东西:学习好了很受用的哦-- SQL分类: DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete,Update,In ...

  4. mysql语句大全 新浪博客_MySQL语句入门

    MySQL数据库入门 1. MySQL数据库登录: 第一步:首先windows+R键,在弹出的页面内输入cmd,然后点确定进入控制台界面. 第二步:输入mysql -u root -p 回车 然后 - ...

  5. mysql语句删除excel文件夹_使用Excel怎么生成批量删除、新增数据库语句

    1.打开Excel,新建一个空白的页签,在A1输入写好的数据库删除语句,DROP DATABASE `db_game_1`; . 2.在A2输入如下公式:="DROP DATABASE `d ...

  6. 一条mysql语句判断是添加还是修改

    一般正常的情况下都会遇到这种需求 有一些数据信息,我们每次发生请求的时候,要判断此条数据是否存在,如果存在则进行修改操作,反则进行插入操作,一般人都会这样写 if($name1==$name2){ $ ...

  7. python 判断 字串包含_数百道BAT等大厂最新Python面试真题,学到你手软!

    春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法.提升 Python 编程能力,总是大有裨益的.今天,小编发现了一份好资源:Python 实现的面试题集锦! ...

  8. mysql怎么判断是否断号_怎么判断孩子是否患上多动症?

    很多家长都有一个这样的疑问,那就是自己的孩子非常的活泼好动,怎么去判断孩子是否可能患上多动症?这也是很多家长都会有的担心.好动的孩子是不是患有多动症,还是应该符合几项标准的,接下来就让我们一起来了解一 ...

  9. mysql怎么判断是否断号_孩子是否有多动症,应该怎么判断呢?

    在孩子儿童时期,调皮是属于正常现象,但很多家长会担心孩子是否患了多动症,孩子调皮到底是不是多动症呢?怎么判断孩子多动症?下面我们一起来了解一下吧. 多动症孩子 作为家长,孩子是否有多动症,应该怎么判断 ...

  10. mysql怎么判断是否断号_怎么判断孩子是否为多动症,家长可以看看这篇

    很多家长都反映家里有个活泼好动的熊孩子,是一件费心的事.在日常生活中,有些孩子一天到晚不停的捣乱,一分钟也不能安静,所以有的家长会有疑惑,我的孩子会不会是多动症?甚至有的家长会担心孩子总是这么动来动去 ...

最新文章

  1. 千万级并发!如何设计一个多级缓存系统?
  2. 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
  3. 【转】STM32中的抢占优先级、响应优先级概念
  4. HBase从入门到精通系列:误删数据如何抢救?
  5. 还在用 if else?试试策略模式吧!
  6. 动态规划--代码随想录
  7. 中播放*.mid格式及其它格式的音乐
  8. c语言调用aida64温度,关于aida64软件cpu温度的问题
  9. codeblocks 16.01 汉化包下载地址及方法
  10. Assimp(LearnOpenGL With Qt)
  11. PHP 对接阿里云短信
  12. [3D图形学]视锥剔除入门(翻译)
  13. 1336. 每次访问的交易次数
  14. Maven项目管理实战(二)--pom.xml
  15. 传感器学习——ESP8266(无线串口使用)
  16. 单片机实验(六)控制共阴极数码管1-9显示
  17. 微信小程序webview内嵌h5页面
  18. box2d 碰撞检测_Box2d新系列 第四章 碰撞模块
  19. Excel文件密码破解小工具
  20. 测试面试挫败_清晰度,初级工程师,要求和挫败感

热门文章

  1. 换热站实际应用程序:西门子200smart PLC与威纶通触摸屏换热站程序
  2. 第六周作业--校长吃热狗游戏--奇偶排序--字母组合
  3. 算法 --- 阿克曼(Ackmann)函数
  4. 计算机办公软件应用操作,基于计算机Word办公软件的使用及操作流程
  5. 李宏毅 || 机器学习笔记一
  6. Mentor许可不够
  7. 论文模型构建的步骤_论文实证经验分享|VAR模型实操步骤(下)
  8. RS485/RS232通信协议
  9. c和指针(小白笔记)
  10. 数学逻辑习题集(1)