MySQL语句判断新老客_数栖云应用场景实践——老客召回(文字版教程)
本教程視頻地址:https://bbs.dtwave.com/trains/show/4
現(xiàn)今許多企業(yè)都存在數(shù)據(jù)分散,融合困難等問題,對于現(xiàn)有數(shù)據(jù)分析的不足,導致無法優(yōu)化召回策略,提升召回效率。借助數(shù)棲平臺,企業(yè)數(shù)據(jù)開發(fā)人員能夠輕松打通原有業(yè)務(wù)系統(tǒng)數(shù)據(jù),高效的完成數(shù)據(jù)處理以及標簽開發(fā)工作,幫助業(yè)務(wù)精準實現(xiàn)老客召回,提升召回效率。
在進行開發(fā)前,我們要先明確一下待開發(fā)標簽的定義。這里的老客戶召回目的主要是防止或者減少用戶的流失,并針對不同的客戶特征、行為習慣運營,提升用戶粘度。所以需要我們先將認為可能流失并且需要挽回的用戶勾選出來。不同的企業(yè)和業(yè)務(wù)對不同的用戶流失程度定義也不相同。
我們這里將用戶流失程度定義為風險,并假定有四個等級,無風險,輕度風險,中度風險以及重度風險。風險等級通過最近在線時間的時間間隔來進行判斷,計近30天,最近一次在線距離今天的天數(shù),0 到 7 天視為無風險,8 到 14 天是為輕度風險,15 到 21 天是為中度風險,22 到 30 天視為重度風險。?在找到重度和中度風險的用戶后,我們可以根據(jù)他們?yōu)g覽網(wǎng)頁習慣來探索流失原因。
此次演示我們主要將重度和中度風險的用戶進行提取,來講一下數(shù)據(jù)工作流開發(fā)。
一、數(shù)據(jù)工作流開發(fā)
1.新建項目
點擊數(shù)棲云離線開發(fā)界面,在項目列表中選擇新建項目,輸入項目名稱,引擎類型勾選 hadoop,描述可以自定義添加,點擊確定。
2.項目配置
剛剛創(chuàng)建成功的項目為待配置狀態(tài),進入項目配置,項目配置分為基礎(chǔ)配置和環(huán)境配置,默認顯示環(huán)境配置頁面。
基礎(chǔ)配置為針對作業(yè)類型的配置,依照開發(fā)需求合理配置作業(yè)類型,能在一定程度上提高平臺的運行效果。
環(huán)境配置是對任務(wù)運行環(huán)境的配置,同一項目下可創(chuàng)建多個環(huán)境進行數(shù)據(jù)開發(fā),每個環(huán)境擁有的獨立 hive 數(shù)據(jù)庫,yarn 的調(diào)度隊列,甚至不同的 hadoop 集群,可以為項目配置不同的環(huán)境級聯(lián)模式,例如單環(huán)境模式、開發(fā)生產(chǎn)模式。
這里以開發(fā)生產(chǎn)模式為例,點擊環(huán)境配置中的立即添加按鈕,環(huán)境名稱自定義,資源組選擇默認資源組,資源組選擇完成后,我們需要配置計算引擎、調(diào)度隊列及數(shù)據(jù)庫,點擊確定,添加成功。
最后,選擇數(shù)據(jù)源,點擊確定。整個項目配置完成。
3.項目開發(fā)
項目創(chuàng)建完成后,我們點擊進入開發(fā)按鈕,進入開發(fā)界面。數(shù)棲云默認提供兩套工作流模板供用戶使用,一套是基于數(shù)倉分層建設(shè)的默認工作流,另外的空白工作流支持用戶自定義,作為演示,我們使用默認工作流進行數(shù)據(jù)開發(fā)。
點擊默認工作流,默認工作流被分為原始數(shù)據(jù)層 ODS、數(shù)據(jù)倉庫層 DWD、數(shù)據(jù)標簽層 TDM、數(shù)據(jù)應(yīng)用層 ADM以及數(shù)據(jù)維度層 DIM。
一般來講數(shù)據(jù)開發(fā)的工作主要分為四個步驟:數(shù)據(jù)建模設(shè)計、數(shù)據(jù)匯聚采集、數(shù)據(jù)處理加工以及數(shù)據(jù)應(yīng)用輸出。數(shù)據(jù)建模設(shè)計指的是數(shù)據(jù)開發(fā)前的數(shù)據(jù)結(jié)構(gòu)設(shè)計,數(shù)據(jù)開發(fā)模型設(shè)計、表設(shè)計以及數(shù)據(jù)開發(fā)流程圖的繪制。因為我們這里示范的是數(shù)棲平臺的開發(fā)實操,對于數(shù)據(jù)建模設(shè)計,這里不做過多深入講解。
以下為我們提前設(shè)計好的老客召回場景實體關(guān)系圖:
根據(jù)上圖所示,首先我們要把匯聚完成的數(shù)據(jù)從 ODS 層經(jīng)過清洗梳理到 DWD 層,經(jīng)過業(yè)務(wù)基礎(chǔ)標簽層開發(fā)一系列的指標后,再將它匯聚到 TDM 層進行更進一步的聚合統(tǒng)計,匯集到 ADM 層,也就是我們看到的最終數(shù)據(jù),這就是本次場景的主要流程。
按照順序,我們先從數(shù)據(jù)的采集匯聚開始介紹。
數(shù)棲云數(shù)據(jù)采集匯聚任務(wù)主要分為兩類,一類是結(jié)構(gòu)化數(shù)據(jù)同步任務(wù),另外一類則是非結(jié)構(gòu)化數(shù)據(jù)同步任務(wù)。結(jié)構(gòu)化數(shù)據(jù)同步任務(wù)一般針對的是結(jié)構(gòu)化的數(shù)據(jù)同步,支持,包括像 mysql、Oracle、hive 等等。前提是數(shù)據(jù)源管理中必須要有已經(jīng)注冊好的數(shù)據(jù)源,就是說必須要在數(shù)據(jù)源管理中新建好,并授權(quán)給相應(yīng)的項目,該項目才能使用該數(shù)據(jù)源進行數(shù)據(jù)同步。
這里作為示范,我們以 mysql 的數(shù)據(jù)源進行示范。為了便于開發(fā)溝通和識別,我們需要在 ODS、DWD、TDM、ADM 以及 DIM 下分別創(chuàng)建兩個子目錄:?DDL 目錄和 job 目錄,分別用來存放不同類型的任務(wù)。如下圖所示:
創(chuàng)建好后,我們需要在 ODS 層下的 DDL 目錄下新建一個?DDL 任務(wù)。點擊 DDL 子目錄新建一個離線作業(yè),所屬工作流類型選擇默認工作流,作業(yè)類型選擇?DDL,點擊確定。接下來我們需要把準備好的 SQL 語句粘貼進來,保存后點擊運行。
運行成功,則表示 DDL 任務(wù)創(chuàng)建成功。
接下來我們還需要創(chuàng)建一個同步任務(wù)。點擊 job 子目錄,新建離線作業(yè),所屬工作流類型選擇默認工作,作業(yè)類型選擇數(shù)據(jù)同步,點擊確定。
數(shù)據(jù)源表示需要從哪里采集數(shù)據(jù)的數(shù)據(jù)庫。我們本次開發(fā)場景數(shù)據(jù)源來源于業(yè)務(wù)系統(tǒng)的 mysql 數(shù)據(jù)庫,源頭表表示我們前面新建好的 mysql 數(shù)據(jù)源,目的表支持兩種方式的建表,提前構(gòu)建好的目的表以及新建目的表。本次作為演示,我們選擇提前構(gòu)建好的目的表。
選擇好數(shù)據(jù)源后,點擊下一步,這里分三種映射方式,作為演示,我們選擇按名稱進行字段映射。
點擊下一步后,繼續(xù)點擊完成,創(chuàng)建成功。
點擊運行,同步任務(wù)運行成功。
數(shù)據(jù)匯聚完成后,按照開發(fā)需求,我們要進入 DWD 層的開發(fā)。DWD 層又稱數(shù)據(jù)倉庫層,用來存放一些清洗完成的數(shù)據(jù)。數(shù)據(jù)清洗一般發(fā)生在 ODS 到 DWD 之間,DWD 層的數(shù)據(jù)是規(guī)整的,是可以直接拿來使用的數(shù)據(jù)。?本次場景下需要將用戶數(shù)據(jù)進行規(guī)范化的清洗,包括時間格式的校驗,用戶 ID 的合法性判斷,年齡合法值判斷等。
與上面的步驟相同,我們需要在 DWD 層的 DDL 子目錄下,先構(gòu)建一個 DDL 任務(wù),創(chuàng)建成功后,我們將 SQL 語句粘貼進去,運行成功則表示 DDL 任務(wù)創(chuàng)建成功。
表新建完成后,我們需要創(chuàng)建一個進行 ODS 層的數(shù)據(jù)清洗的離線任務(wù),將一些臟數(shù)據(jù)進行過濾處理。點擊 job?子目錄,新建一個離線作業(yè),所屬工作流選擇默認工作流,作業(yè)類型作為演示,這里選擇 hive,選擇完成后點擊確定。
我們將準備好的 SQL 代碼復(fù)制進來,點擊運行,運行成功則數(shù)據(jù)清洗完成。
DWD 數(shù)據(jù)清洗完成后,我們需要在?TDM 數(shù)據(jù)標簽層的 DDL 子目錄下要新建一個用戶基礎(chǔ)標簽表。
點擊數(shù)據(jù)標簽層,在 DDL 子目錄下新建新建一個離線作業(yè),所屬工作流仍選擇默認工作流,作業(yè)類型選擇DDL,選擇完成后點擊確定。
將準備好的 SQL 語句復(fù)制進來,點擊運行,作業(yè)運行成功則任務(wù)創(chuàng)建完成。
TDM 層的表新建完成之后,我們需要創(chuàng)建一個離線任務(wù),進行 DWD 層的數(shù)據(jù)聚合連接。因為我們的場景需求需要我們計算出每個用戶的流失風險程度,所以我們需要先計算出每個用戶最近的登錄時間以及時長。
我們點擊數(shù)據(jù)標簽層 TDM 下的 job 子目錄,新建一個離線任務(wù),并給它命名。所屬工作流選擇默認工作流。作業(yè)類型選擇 hive,點擊確定。
創(chuàng)建成功后我們把準備好的 SQL 代碼復(fù)制進來,點擊運行,作業(yè)運行成功后則任務(wù)創(chuàng)建成功。
我們在用戶的基礎(chǔ)標簽開發(fā)完成之后,需要按照具體的場景需求,將基礎(chǔ)標簽進行更進一步的聚合統(tǒng)計。因此要在 ADM 數(shù)據(jù)應(yīng)用層進行數(shù)據(jù)任務(wù)開發(fā)。ADM 層是貼合具體的業(yè)務(wù)場景的,在該層下,我們可以通過新建子集目錄來區(qū)分不同的數(shù)據(jù)應(yīng)用場景和需求。
在這里我們要新建一個老客召回場景所需目錄。點擊新建目錄,創(chuàng)建名稱-老客召回,輸入完成后點擊確定。
在老客召回的子目錄下分別新建?DDL 和 job 子目錄。
創(chuàng)建完成后,我們還需要在 ADM 層下新建一個用戶標簽表,點擊用戶畫像子目錄下的 DDL 目錄,新建離線作業(yè)。所屬工作流類型選擇默認工作流,作業(yè)類型選擇 DDL,選擇完成后點擊確定。
把準備好的 SQL?粘貼進來,點擊保存。保存成功后點擊運行,作業(yè)任務(wù)運行成功則完成。
在數(shù)據(jù)應(yīng)用層ADM用戶基礎(chǔ)標簽表創(chuàng)建完成之后,我們還需要創(chuàng)建一個離線任務(wù)。點擊用戶畫像下的 job 子目錄,新建離線作業(yè),所屬工作流選擇默認工作流,作業(yè)類型作為演示選擇 hive,選擇完成后點擊確定,任務(wù)創(chuàng)建成功。
將準備好的 SQL 代碼復(fù)制進來,點擊保存,保存成功后點擊運行。
在 ADM 層的任務(wù)運行完成后,為了進行數(shù)據(jù)應(yīng)用展示,我們還需要創(chuàng)建一個同步任務(wù)。?點擊老客召回,新建目錄,輸入名稱,完成后點擊確定。
接下來我們需要在該目錄下創(chuàng)建一個同步任務(wù)。點擊新建離線作業(yè),所屬工作流選擇默認工作流,作業(yè)類型選擇數(shù)據(jù)同步,完成后點擊確定。
接下來,我們需要選擇源頭表信息及目的表信息,全部配置完成后,點擊下一步。
點擊下一步,字段映射中選擇按名稱映射,創(chuàng)建成功后我們點擊運行。作業(yè)運行成功數(shù)據(jù)開發(fā)完畢。
二、數(shù)據(jù)應(yīng)用展示
具體的數(shù)據(jù)應(yīng)根據(jù)實際的需求來靈活選擇,大家可以通過接入業(yè)務(wù)系統(tǒng)應(yīng)用,也可以通過第三方可視化產(chǎn)品來展示。下面我們來看一下數(shù)據(jù)展示的效果。
總結(jié)
以上是生活随笔為你收集整理的MySQL语句判断新老客_数栖云应用场景实践——老客召回(文字版教程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路考计算机系统评判,科目三智能考试有效解
- 下一篇: 【牛客刷题记录】2021-03-10