靠文章生存的大厂们简书
/小红书
/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