Spark+Hbase 亿级流量分析实战(数据结构设计)

栏目: 数据库 · 发布时间: 5年前

内容简介:靠文章生存的大厂们网名:大猪佩琪 姓名:不晓 年龄:不知 身高:不祥 性别:男日志存储结构设计如下,肯定很多小伙伴要问为什么设计成

靠文章生存的大厂们 简书 / 小红书 / CSDN (PS:好吧你们仨记得给我广告费),对优秀的文章进行大数据分析的工作必不可以少了,本系列文章将会从关于文章的各个维度进行实战分析,这系列文章新手可借着踏入大数据研发的大门,至于大数据的大佬们可以一起来相互伤害,至少为什么取名为 ''百亿级流量实时分析统计'' 看完后整个系列的文章你就知道了,相信大家都是会举一反三的孩子们。

Spark+Hbase 亿级流量分析实战(数据结构设计)

作者

网名:大猪佩琪 姓名:不晓 年龄:不知 身高:不祥 性别:男

日志结构

日志存储结构设计如下,肯定很多小伙伴要问为什么设计成 JSON 形式?多占空间?多... 统一回复: 可读易排查

{
    "time": 1553269361115,
    "data": {
        "type": "read",
        "aid": "10000",
        "uid": "4229d691b07b13341da53f17ab9f2416",
        "tid": "49f68a5c8493ec2c0bf489821c21fc3b",
        "ip": "22.22.22.22"
    }
}
复制代码

参数

名称 说明
time 精确到毫秒 时间
type login:登录 / register:注册 / read:阅读 / like:喜欢 / comment:评论 / share:分享 / reward:赞赏 / publish:发布文章 / update:发布更新 / private:设置私密 / delete:删除
aid 数字 文章编号
uid uuid 用户编号
tid uuid 用户临时缓存编号
ip ip IP地扯

Hbase结构

日志表

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']
复制代码
  1. rowkey --------> 49|20190101000000000|f68a5c (时间+用户ID) **设计原则:**能按时间维度查询,而且还能打散数据。
  2. 过期时间 30天 --------> 够长的了,反正日志源文件还在 **设计原则:**其实就是为了不占用那么多的存储资源。
  3. 预分区 -------->使用 rowkey 前两位,00~ff=256 个 region ,表示现在的业务已经可以满足要求。 **设计原则:**是为了能尽量打散数据到各台 Region Server

用户表

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']
复制代码
  1. rowkey --------> 49f68a5c8493ec2c0bf489821c21fc3b (用户ID,前8位) **设计原则:**唯一性,通过ID能直接找到用户信息。

现在还没涉及到程序设计与实现篇章,后续将会在 "百亿级流量实时分析统计" 系列文章中逐一实现。

Spark+Hbase 亿级流量分析实战(数据结构设计)
Spark+Hbase 亿级流量分析实战(数据结构设计)

以上所述就是小编给大家介绍的《Spark+Hbase 亿级流量分析实战(数据结构设计)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《Hello Ruby:儿童编程大冒险》(平装)

《Hello Ruby:儿童编程大冒险》(平装)

(芬兰)琳达·刘卡斯 / 窝牛妈 / 浙江人民美术出版社 / 2018

快来认识Ruby——一个想象力丰富,喜欢解决难题的女生。Ruby认识了一群新朋友:聪明的雪豹、友好的狐狸、忙碌的机器人等等。这本书以讲故事的方式向孩子们介绍了基础的计算思维,比如拆分问题,制定分步计划,寻找规律,打破思维定势等等;之后,通过一系列鼓励探索和创造的练习和活动,孩子们对这些关乎编程核心问题的基本概念有了进一步的理解。一起来看看 《《Hello Ruby:儿童编程大冒险》(平装)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器