hbase+hive应⽤场景
⼀.Hive应⽤场景
本⽂主要讲述使⽤ Hive 的实践,业务不是关键,简要介绍业务场景,本次的任务是对搜索⽇志数据进⾏统计分析。
集团搜索刚上线不久,⽇志量并不⼤。这些⽇志分布在 5 台前端机,按⼩时保存,并以⼩时为周期定时将上⼀⼩时产⽣的数据同步到⽇志分析机,统计数据要求按⼩时更新。这些统计项,
包括关键词搜索量 pv ,类别访问量,每秒访问量 tps 等等。
基于 Hive ,我们将这些数据按天为单位建表,每天⼀个表,后台脚本根据时间戳将每⼩时同步过来的 5 台前端机的⽇志数据合并成⼀个⽇志⽂件,导⼊ Hive 系统,每⼩时同步的⽇志数据
被追加到当天数据表中,导⼊完成后,当天各项统计项将被重新计算并输出统计结果。
以上需求若直接基于 hadoop 开发,需要⾃⾏管理数据,针对多个统计需求开发不同的 map/reduce 运算任务,对合并、排序等多项操作进⾏定制,并检测任务运⾏状态,⼯作量并不⼩。但
使⽤ Hive ,从导⼊到分析、排序、去重、结果输出,这些操作都可以运⽤ hql 语句来解决,⼀条语句经过处理被解析成⼏个任务来运⾏,即使是关键词访问量增量这种需要同时访问多天数hbase主要用来储存什么数据
据的较为复杂的需求也能通过表关联这样的语句⾃动完成,节省了⼤量⼯作量。
⼆.hbase应⽤场景
1、爬⾍⽹站URL的写⼊。
2、淘宝在2011年之前所有的后端持久化存储基本上都是在mysql上进⾏的(不排除少量oracle/bdb/tair/mongdb等),mysql由于开源,并且⽣态系统良好,本⾝拥有分库分表等多种解决⽅案,因此很长⼀段时间内都满⾜淘宝⼤量业务的需求。
但是由于业务的多样化发展,有越来越多的业务系统的需求开始发⽣了变化。⼀般来说有以下⼏类变化:
数据量变得越来越多,事实上现在淘宝⼏乎任何⼀个与⽤户相关的在线业务的数据量都在亿级别,每⽇系统调⽤次数从亿到百亿都有,且历史数据不能轻易删除。这需要有⼀个海量分布式⽂件系统,能对TB级甚⾄PB级别的数据提供在线服务
数据量的增长很快且不⼀定能准确预计,⼤多数应⽤系统从上线起在⼀段时间内数据量都呈很快的上升趋势,因此从成本的⾓度考虑对系统⽔平扩展能⼒有⽐较强烈的需求,且不希望存在单点制约
只需要简单的kv读取,没有复杂的join等需求。但对系统的并发能⼒以及吞吐量、响应延时有⾮常⾼的需求,并且希望系统能够保持强⼀致性
通常系统的写⼊⾮常频繁,尤其是⼤量系统依赖于实时的⽇志分析
希望能够快速读取批量数据
三.总结
hive⼤数据计算,基于reducemap
hbase⼤数据存储,写⼊和读取

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。