日志格式
数据清洗
对日志进行解析,得到ip信息(所在国家、省份和城市)、事件类型等,并且过滤无效日志。将解析后的结果存入HBase,为后续任务提供数据。
HBase结构设计
- RowKey设计
- 访客id+会员id+服务器时间+事件类型,经过CRC32(冗余校验码)编码/Hash编码后作为RowKey。
- 优点:不会出现热点问题,RowKey长度不算特别长
- 缺点:无法利用RowKey来明确获取某条数据
- 服务器时间戳+访客id,作为RowKey。
- 优点:方便取值
- 缺点:热点问题
- 访客id+会员id+服务器时间+事件类型,经过CRC32(冗余校验码)编码/Hash编码后作为RowKey。
- 解决热点问题
- 按天分表, RowKey随机,没有特别规律的一个字节数组
- 在RowKey(有访问规律)之前加一个随机数字(其实就是HBase服务器数量取模)
- 在创建HBase表的时候会进行预分区
- 本项目HBase表结构
- 使用第一种RowKey设计方式:将数据按天分表,这样可以有效的减少HBase Split操作。
- 采用单列族的设计方式,列族名为info,通过列标签来区分数据。
网友评论