靠文章生存的大廠們簡書
/小紅書
/CSDN
(PS:好吧大家仨記得給我廣告費),對優秀的文章進行大數據分析的工做必不能夠少了,本系列文章將會從關於文章的各個維度進行實戰分析,這系列文章新手可藉着踏入大數據研發的大門,至於大數據的大佬們能夠一塊兒來相互傷害,至少爲何取名爲 ''百億級流量實時分析統計'' 看完後整個系列的文章你就知道了,相信你們都是會觸類旁通的孩子們。apache
網名:大豬佩琪 姓名:不曉 年齡:不知 身高:不祥 性別:男緩存
日誌存儲結構設計以下,確定不少小夥伴要問爲何設計成JSON
形式?多佔空間?多... 統一回復:可讀、易排查bash
{
"time": 1553269361115,
"data": {
"type": "read",
"aid": "10000",
"uid": "4229d691b07b13341da53f17ab9f2416",
"tid": "49f68a5c8493ec2c0bf489821c21fc3b",
"ip": "22.22.22.22"
}
}
複製代碼
參數oop
名稱 | 值 | 說明 |
---|---|---|
time | 精確到毫秒 | 時間 |
type | login:登陸 /register:註冊 /read:閱讀 /like:喜歡 /comment:評論 /share:分享 /reward:讚揚 /publish:發佈文章 /update:發佈更新 /private:設置私密 /delete:刪除 |
|
aid | 數字 | 文章編號 |
uid | uuid | 用戶編號 |
tid | uuid | 用戶臨時緩存編號 |
ip | ip | IP地扯 |
日誌表大數據
create 'LOG_TABLE',{NAME => 'info',TTL => '30 DAYS',
CONFIGURATION => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy','KeyPrefixRegionSplitPolicy.prefix_length'=>'2'},
COMPRESSION=>'SNAPPY'},
SPLITS => ['20', '40', '60', '80', 'a0', 'c0', 'e0']
複製代碼
49|20190101000000000|f68a5c
(時間+用戶ID) **設計原則:**能按時間維度查詢,並且還能打散數據。rowkey
前兩位,00~ff=256 個region
,表示如今的業務已經能夠知足要求。 **設計原則:**是爲了能儘可能打散數據到各臺Region Server
。用戶表ui
create 'USER_TABLE',{NAME => 'info',
CONFIGURATION => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.KeyPrefixRegionSplitPolicy','KeyPrefixRegionSplitPolicy.prefix_length'=>'2'},
COMPRESSION=>'SNAPPY'},
SPLITS => ['20', '40', '60', '80', 'a0', 'c0', 'e0']
複製代碼
如今還沒涉及到程序設計與實現篇章,後續將會在 "百億級流量實時分析統計" 系列文章中逐一實現。spa