本篇部落格介紹一下畫像中需要開發的資料指標與開發過程中表結構的設計。
首先介紹畫像開發的資料指標,畫像開發過程中通用類的指標體系包括使用者屬性類、使用者行為標籤類、使用者活躍時間段類、使用者消費能力類、使用者偏好類等
使用者屬性指標
使用者屬性指標根據業務資料**,盡可能全面地描述使用者基礎屬性,這些基礎屬性值是短期內不會有改變的。如年齡、性別、手機號歸屬地、身份證歸屬地等
使用者登入活躍指標
看使用者近期登入時間段、登入時長、登入頻次、常登陸地等指標
使用者消費能力指標
看使用者的消費金額、消費頻次、最近消費時間。進一步結合使用者登入活躍情況,可以對使用者做rfm分層。
使用者流失層級
根據使用者的活躍度及消費情況,判斷使用者的流失意向。可及時對有流失趨向的使用者做營銷召回
使用者年齡段劃分
在做營銷活動或站內推送時,可對不同年齡段做針對性運營
使用者行為標籤
記錄使用者在平台上每一次操作行為,及該次行為所帶來的標籤。後續可根據使用者的行為標籤計算使用者的偏好標籤,做推薦和營銷等活動
對於畫像資料的儲存,除了使用者屬性這種基本上短期不會有變化的資料,其他相關資料的更新頻率一般都比較高,為周更新或日更新
畫像資料更新較為頻繁,通常使用分割槽來將資料從物理上轉移到離使用者最近的地方。
一般對日期字段進行分割槽,當然事實上分割槽是為了優化查詢效能,否則使用資料的使用者也不需要關注這些字段是否分割槽。
例如說建立乙個使用者行為標籤表:
create table userprofile(
user_id string,
tag_id string,
tag_name string,
cnt string,
act_type_id string,
tag_type_id string
)partition by (date_id string);
分割槽表改變了hive對資料的儲存方式,如果沒做分割槽,建立的這個表目錄為:
hdfs://master_server/user/hive/warehouse/userprofile
建立日期分割槽後,hive可以更好地反映分割槽結構子目錄:
hdfs://master_server/user/hive/warehouse/userprofile/date_id='2018-05-01'
在userprofile表下面,每個日期分割槽的資料可以儲存截止到當日的全量歷史資料,方便使用者查詢。 結構設計 資料表設計 常用表結構設計
為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。位址一般包括 省 市 縣 區 詳細位址 我們當然可以儲存乙個字段 使用分隔符 json 等儲存 介紹字段介紹 字段介紹 idbigint id parentid parentidlist chi...
Hbase表結構設計
一 主體思路 先確定查詢場景,再確定表結構。二 主鍵設計 主鍵設計需要考慮兩個問題 1.選擇哪些作為主鍵?2.當主鍵大於1個時,如何排列。2.1 邏輯上用於表示行的唯一性的列必須作為主鍵 2.2 單個查詢場景中一定出現的列可以考慮加入主鍵列,用於優化查詢效能 2.3 在多個查詢場景都出現的主鍵列要排...
HBase表結構設計
列簇設計 版本設計 資料壓縮 rowkey設計原則 在hbase有很多張表,這些表需要按照業務劃分開,為方便管理這些表,不同業務就有不同的命名空間,類似hive中的資料庫,不同的資料庫用來儲存不同型別的表。注 建立命名空間 create namespace momo chat 檢視命名空間列表 li...