主頁 > 資料庫 > 終于有人把不同標簽的加工內容與落庫講明白了丨DTVision分析洞察篇

終于有人把不同標簽的加工內容與落庫講明白了丨DTVision分析洞察篇

2022-09-09 08:24:27 資料庫

上一篇文章詳細給大家介紹了標簽的設計與加工,在標簽生命周期流程中,標簽體系設計完成后,便進入標簽加工與上線運行階段,一般來說資料開發團隊會主導此程序,但我們需要關心以下幾個問題:

·標簽如何快速創建和實作標簽邏輯的在線化管理

·業務人員怎么參與到標簽建設流程中

·百萬級別的標簽如何落表

一、加工方式:傳統VS在線

當企業無標簽系統時,一般由資料開發在離線數倉中完成標簽的加工和運行,運營或市場同學需要某個標簽需要通過產品經理向資料開發提需求,這個程序存在很多問題:

· 標簽資產不可見:標簽是存在于表里的欄位,業務人員不清楚現在有多少標簽;標簽的加工邏輯與業務邏輯是否一致只能查看SQL代碼;新上線的標簽只有部分人知道,標簽價值散發慢等

· 標簽資產不可管:加工好的標簽,有多少在真正被使用,有多少沒人用,完全黑盒,不用的標簽每天繼續運行浪費計算與存盤資源

· 標簽加工效率低:當業務人員需要某個簡單標簽時,也需要提交需求給資料開發,加工到上線基本需要2-3天流程

基于以上這些問題,標簽的在線化創建與管理顯得尤為重要,在線化主要包含以下內容:

· 標簽在線化加工

· 標簽在線化管理

· 標簽在線化更新

其讓標簽加工程序以及有哪些標簽變得透明,業務人員也可以參與進標簽建設的流程中,

二、各型別標簽加工

標簽型別的區分在此處便不再贅述了,在袋鼠云智能標簽產品——「客戶資料洞察」中,我們按照標簽加工邏輯,將標簽分為以下型別,各型別標簽的加工層次如下圖:

file
接下來,我們來看看具體各型別標簽的加工,

1、原子標簽

該類標簽由資料開發在數倉加工中完成,一般基于數倉DWD、DWS層的明細表與匯總表加工而來,處理邏輯較為復雜,同時維表中的一些欄位也可以作為原子標簽,這類標簽一般包含哪些內容呢?

● 建立用戶的標簽體系:

用戶維表中的用戶基礎屬性:性別、年齡、置業、會員等級、手機號、身份證號等資訊,一般用戶系統會有該類資訊,

● 基于交易表加工的交易指標

最近30天購買次數、最近30天交易金額、最近7天購買次數、最近7天交易金額,這部分標簽也建議放在數倉中實作,有以下幾點原因:

·因為其本身也是一個指標,除后續作為標簽進行畫像分析外,也常用于在資料門戶、BI報表中分析,可作為對外服務的指標放在ADS層中,并且市場上也會有專門指標管理的產品,來實作該指標的加工

· 這類標簽若屬于同一個統計維度(如都計算最近7天),資料開發可以在一個SQL片段中計算多個標簽,節約計算成本

· 若業務人員直接基于DWS層的輕度匯總表(每天匯總的交易次數、交易金額)、或DWD層的明細表(每條交易記錄一行資料)來加工最近30天購買次數這個標簽,需要針對對應的欄位進行求和,稍微涉及到一點SQL理解,有一些難度

故該類使用場景多、對于業務人員有計算難度,可在數倉中合并加工降低成本的標簽,可在數倉中作為原子標簽加工,

● 基于行為表加工的行為指標

可經過數倉加工成如下表格式,加工行為類的標簽,便于后續業務人員去衍生,

file
原子標簽在數倉加工好后,可匯入到標簽系統中,進行在線化管理,

2、規則標簽

該類標簽配置可由資料開發或資料分析師來完成,可基于單張表或關聯表中的欄位進行在線化加工,可設定統計周期、資料過濾條件,其內置常用的聚合函式(求和、均值、計數、去重技術、最大值、最小值等)、運算子(大于、小于、區間、有值、無值、包含等),通過規則化的在線配置完成標簽加工,配置界面如以下:

file

根據上面的描述,該類標簽可以將指標的型別的標簽在數倉或指標平臺加工好,匯入至標簽平臺作為原子標簽,再基于這些原子標簽取運算子更好,但在實際場景中,基于不同考慮,有的客戶也會在標簽平臺直接加工此型別標簽,如以下場景:

· 數倉無對應的基礎標簽,但業務人員很著急需要該標簽某標簽,走正常的排期、數倉加工、測驗,上線到使用基本2天以上了,基于這種情況可以通過該類標簽在標簽系統直接配置,5分鐘即可配置、更新完成,業務人員便可以使用了

· 客戶方想把標簽的加工邏輯在線化呈現、方便查找與追溯,通過可視化的方式在線配置

3、SQL標簽

SQL標簽主要由資料開發、資料分析師使用,主要解決通過規則標簽無法表達的邏輯,如用到排序函式、字符轉化函式、子查詢等內容,可以通過標準SQL語法靈活完成標簽加工,

file

4、模型標簽

模型標簽可由業務人員創建,系統集成常見的用戶分層RFM模型,用戶營銷AIPL模型、用戶生命周期模型,用戶輸入對應的指標值區間,便可定義對應的標簽值,

以RFM模型舉例,基于該模型生成“客戶價值”標簽,可基于最近一次購買時間、最近一年消費金額、最近一年消費頻率等幾個原子標簽,進行不同區間的取值,給用戶打上“重要價值客戶”、“重要發展客戶”、“重要發展客戶”、“重要挽留客戶”等,

5、組合標簽

模型標簽可由業務人員創建,基于已生成的原子、規則、SQL、模型標簽等,進行規則衍生,生成組合標簽,如組合標簽“高收入低購買”用戶,可通過“收入水平”衍生標簽,與“最近3年消費金額區間”衍生標簽組合加工,如下圖:

file

6、自定義標簽

自定義標簽可由業務人員創建,手動為某些用戶打上標簽,該類標簽手動匯入,常見場景如下:

· 客服人員和用戶ID為1001的用戶溝通后,給該用戶打上”性格:溫和、有耐心”標簽

· 如監管機構提供的一些信貸黑名單用戶,該類標簽可直接匯入進標簽系統,為用戶打上新的標簽

7、演算法標簽

演算法標簽由演算法開發同學創建,該類標簽可在演算法平臺完成,將算好的結果存盤至Hive表中,標簽系統可獲取演算法標簽的元資料,拿到演算法標簽的中文名、英文名,注冊至標簽系統中,在標簽系統中完成演算法標簽的標簽資訊查看、標簽查詢等,

如利用機器學習模型加工預測類的演算法標簽,如根據用戶的特征,預測哪些用戶是否即將流失,流失的概率等,從而在用戶流失之前做一些措施來挽留,

8、實時標簽

實時標簽由資料開發同學創建,該類標簽可在流計算平臺完成,實時行為資料打入到kafka中,用FlinkSQL消費,再輸出到Kafka、或資料表中,下游直接訂閱或查詢,

三、標簽更新與落庫

標簽配置完成后,便需要進行標簽更新與落庫,即將標簽打到物件(如用戶)的身上,這樣業務同學就可以根據標簽圈選目標群組啦,在此處我們需要說明以下幾個問題:

1、技術選型

首先說明一下標簽加工的技術選型,在袋鼠云智能標簽產品「客戶資料洞察」中我們用的 Trino(Presto)高性能分析引擎讀寫 Hive 表的方式,標簽表存盤在Hive中,主要有以下幾點原因:

· 隨著國家對數字化轉型的支持,從金融、政府到小企業都在建設數倉,進行數字化應用,在這個程序中,大多采用的是分布式的Hadoop系統作為計算存盤引擎(不論是開源Hadoop,還是發行版的CDH、TDH、FusionInsight等),Hive表便是最常用的存盤形式,標簽是基于數倉模型搭建出來的,與數倉用同一種存盤可以節省存盤資源以及不用兩種存盤之間進行資料交換

· 而用Trino(Presto)的原因是其首先是一個分析型引擎,讀寫速度均可;其次是其SQL語法完備、函式豐富、靈活,可以處理絕大多是業務場景的需求;并且支持跨庫同時讀取,如Trino可以同時取Hive與MySQL的資料進行資料處理

但沒有一種完美的技術選型,只能貼合企業自己的業務,選取最合適的技術,在這里我們就不分析各種標簽的技術選型了,

2、落表方式

上面我們介紹了有各種型別的標簽,那么標簽如何落表呢,大家看下面這個圖:

file
在業務場景中,存在有的標簽需要每天更新,如最近30天消費金額區間;而有的標簽周更新、月更新即可,更新頻率不高,如活動型別偏好,

這樣,便需要支持每個標簽有不同的更新頻率,但hive2.x版本不支持單列更新,為了解決該問題,我們將每個標簽先在臨時表存一下(就包含2列,1列用戶ID,1列標簽)該臨時表即建即用即刪,每個標簽只有一個臨時表(非磁區表),每個標簽占用的占用不大,又能解決標簽更新周期不一致的問題,

但如果后續的標簽圈群、群組畫像分析,我們基于這些單獨表的去做聯合查詢,那效率會很低,

因為每個用營銷活動,我們需要5個標簽圈選出來一批人群,并查詢出這群人的性別、年齡、月消費、會員等級、是否活躍用戶等資訊,加起來用到了10個標簽左右,會涉及到10個表的join操作,客戶集群資源不豐裕的情況,查詢速度慢,

所有我們便將多個臨時表通過聚合任務,將所有的臨時表join到一張標簽大寬表中,進行固化,這張表是一個磁區表,可以每天存盤一份全量用戶標簽資訊,當然可以自行設定該表的更新周期與保存多少個磁區,

這樣,業務人員進行圈群和分析就可以一張表查詢資料,查詢效率大大提升,通過標簽跑批時間的消耗換取業務的查詢速度,

但會遇到有些企業標簽數量在500-1000個之間,用戶量在千萬、億級別,這樣的話,用一張表去存所有的標簽會遇到標簽大寬表跑批時間過長或跑不出來的情況,所以便需要分表,可以根據標簽數量分表,

綜上,以上加工存盤方式,有缺點的地方便是大寬表加工時,需要join多個臨時表,消耗記憶體,跑批時間長,

四、寫在最后的話

為解決該問題,袋鼠云智能標簽產品「客戶資料洞察」在引入資料湖Iceberg進行標簽表的存盤,其可以實作單列更新,每個標簽可以單獨更新,這樣,便不需要那些臨時表了,解決加工效率的問題,

標簽加工與落庫是標簽體系完成后重要的步驟,本篇文章向大家分享了標簽加工與落庫程序中需要關注的注意點,講述了不同標簽的加工內容以及標簽的更新與落庫等內容,

歡迎大家留言與我們討論,也可以分享下自己見到的一些好的標簽加工方式,我們共同進步,

袋鼠云開源框架釘釘技術交流qun(30537511),歡迎對大資料開源專案有興趣的同學加入交流最新技術資訊,開源專案庫地址:https://github.com/DTStack

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505980.html

標籤:大數據

上一篇:當我將我的github帳戶連接到gitlab時,我無法克隆Gitlab存盤庫

下一篇:mysql雜記漫談

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more