HBase在数据统计应用中的使用心得

1. 数据统计的需求

互联网上对于数据的统计,一个重要的应用就是对网站站点数据的统计,例如CNZZ站长统计、百度统计、Google Analytics、量子恒道统计等等。

网站站点统计工具无外乎有以下一些功能:

1)网站流量统计:包括PV、UV、IP等指标,这些统计指标可以以趋势图的形式展示出来,如最近一周、最近一个月等。

2)IP来源信息统计:记录各个来源IP下的访问PV数。

3)访问来源分析:记录访客是从哪些途径到达本网站的。

4)搜索引擎及搜索关键词分析:对于各个指定搜索引擎带来访问PV的变化及趋势进行分析;对不同时段内访客搜索关键词的流量趋势进行统计。

5)访问地区分析:统计不同时间段内各地区的PV浏览量、UV访客数的变化趋势。

6)最近访客流水:实时显示网站当前的被访问情况,包括访问时间、IP地址、来源网址、访问网址和来源地区等。

从统计的角度来看,这些业务功能的需求可以概括为:

1)各项统计指标的计算,如PV、UV、IP等,可以归结为的对一条一条数据求SUM、AVG等操作。

2)统计需求越来越要求实时性,访问来源随时随地发生,来源途径多样化。对于这类需求,不需要统计计算,而是要经过预处理后快速向用户展示其关心的数据。

3)可以将数据统计分为两部分来理解:一部分是对于实时数据的统计,动态展示站点的访问数据更新情况;另一部分是对于历史数据的统计,如用于各项报表分析。

2. HBase的实现思路

HBase是一个分布式的存储系统,可以很容易在廉价PC上搭建其大规模存储系统,用于存储海量数据,这使得HBase适合于作为站点数据统计工具的存储系统。

1)对于实时数据的统计,HBase能够提供较低延迟的读写访问,承受高并发的访问请求;而对于历史数据的统计,HBase则可以被视为一个巨大的Key-Value存储系统,用于存储各个网站上历史的访问信息,用于做离线的数据分析与报表生成。

2)对于像PV、UV、IP这样需要求累加计算的操作(求SUM/AVG),由于要对HBase表中相关记录进行扫描求和计算,所以如果被统计站点的数据量很大的话,使用HBase来做可能会保证不了很快的响应速度。也就是说,从前端发出一个查询请求到最终结果的响应,时间会比较长(超过1秒或更长)。对于这个问题,将在第3节进行讨论。

3)对于像站点访客流水信息这样的实时数据展示,则比较适合于使用HBase来做,只要我们设计了合理的key,那么在根据key取单条访问记录时响应速度会很快。

下面是一个使用HBase作为存储系统的结构示意图:

其中,HBase服务端就是指HBase集群,应用程序分别通过入库端与查询端对HBase进行写操作与读操作。

从HBase应用角度来看,可以分为两个不同的方向:

1)第一种方向,将HBase视为一个可靠可用的容量巨大的Key-Value存储系统,使用HBase的作用很简单,就是将其作为一个黑匣子来使用,按照之前设计好的表结构来存储具有稀疏结构的数据。基于这种思路,如果HBase无法完全满足业务的需求,就在应用程序层次做一些设计或者优化工作,以最终满足业务的需求。

2)第二种方向,由于HBase是开源的,所以可以对HBase本身机制进行完善与扩展,最终形成一个能够满足业务需要的稳定可用的HBase版本。

3. 问题的解决思路

针对第2节中提到的在使用HBase进行累加计算的操作(求SUM/AVG)时的问题,下面给出几种解决问题的思路与方法。

基于第一种方向:

1)HBase服务端进行聚合计算,这样应用程序的查询端不必请求HBase响应大量数据进行传输,而只是在服务端计算后的结果,因此能够满足实时响应的需求。

基于第二种方向:

1)在HBase表设计时,加入一个空列专门用于统计所用,这样可以减少从HBase服务端到查询端的数据传输量。

2)应用程序端计算:

a) 入库端:在HBase表设计时,加入一个专门用于存储PV/UV这样累加结果的表,每次新来一条数据时,首先查询HBase表中上次记录下来的PV/UV数,然后判断是否加1后,再重新写回HBase表中相应key下。通过这种方式,查询端就可以直接通过HBase的一次get操作得到PV/UV。

b) 查询端:在查询端加入PV/UV的缓存,下一次查询请求来的时候,在已缓存PV/UV值的基础上,加上扫描HBase表中新增行的记录数(缓存更新的时间周期足够短的话,新增数会比较小,对HBase的查询响应会很快)。

4. 总结的话

这里是在使用HBase进行数据统计应用中的一些经验总结,其中对于提到问题的解决思路,有过一些尝试,欢迎讨论。

时间: 2024-10-26 13:27:53

HBase在数据统计应用中的使用心得的相关文章

HBase在数据统计应用中的使用总结

1. 数据统计的需求 互联网上对于数据的统计,一个重要的应用就是对网站站点数据的统计,例如CNZZ站长统计.百度统计.Google Analytics.量子恒道统计等等. 网站站点统计工具无外乎有以下一些功能: 1)网站流量统计:包括PV.UV.IP等指标,这些统计指标可以以趋势图的形式展示出来,如最近一周.最近一个月等. 2)IP来源信息统计:记录各个来源IP下的访问PV数. 3)访问来源分析:记录访客是从哪些途径到达本网站的. 4)搜索引擎及搜索关键词分析:对于各个指定搜索引擎带来访问PV的

数据统计-oracle中如何进行sql优化

问题描述 oracle中如何进行sql优化 在oracle中如何进行sql优化,not in以及not null,in,请各位大侠指教,谢谢. 解决方案 http://zhidao.baidu.com/link?url=ys3SrPa01XA7QSVwKnZfQzCgXJ7wkWH6_A5Xnb1vSRoyDmlfqCyY2W-K4le1Vgku4wVxNc8A69H8LESrJxWlsK

Wap流量统计开发中使用Cache心得

在<他舅网wap流量统计分析平台>开发中为了提高系统的性能,我们利用Cache来保存数据,例如把 用户的一些权限信息放在Cache中,但这样做会有些问题,何时清除Cache与数据保持同步,下面我在项目 中使用Cache的心得,与大家分享. 一.利用CacheDependency类 它在命名空间System.Web.Caching中.CacheDependency类会与文件之间建立依附性关系.在文件更改 时,该Cache项会自动移除. 方法: 把用户权限信息保留成XML文件,当管理员更新数据时,

Excel中数据透视图在教师课时数据统计中的应用

  Excel中数据透视图在教师课时数据统计中的应用           1.用Ecxel2013打开文件"课时统计表".xlsx,打开界面如下: 2.在统计的任意区域中选择任意单元格,单击菜单"插入→数据透视图",选择"数据透视图",打开"创建数据透视图"对话框,如图: 3.在弹出的对话框中,默认选中了原始数据的整个区域,确认分析的数据的区域为整个工作表,选择放置数据透视图的位置为"新工作表:单击"确定&

求助高手,写了一个代理,统计并输出数据到excel中,手工运行代理,输出数据成功;自动运行代理则不输出excel。

问题描述 求助高手,写了一个代理,统计并输出数据到excel中,手工运行代理,输出数据成功:自动运行代理则不输出excel.SubInitialize'------------------------------------------------------'function:thisagentrunonceaday,inordetoexportdatatoTS2'------------------------------------------------------OnErrorGoto

小米新一代大数据统计平台大公开

首次来到台北的小米研发架构师欧阳辰,看见城市中川流不息的摩托车车流,引起了他的注意:「它的特色很像大数据」,除了数量多.变化快,以及难以预测动向,摩托车也和大数据一般,都是解决人类生活在社会中的一项工具,「未来大数据会是重要的社会基础架构,就像水.电力一样.」 谈起大数据,不免回归最基本的问题:它跟传统数据分析的区隔为何. 欧阳辰表示:「在目标上,我认为两者没有区隔」,欧阳辰表示,传统统计分析解决的问题如人口统计议题,只需要经过随机抽样方法就能解决.但是碰上投放商业广告,若仍靠传统抽样分析结果,

hbase导出表数据到hdfs

问题描述 hbase导出表数据到hdfs 我需要把hbase中的表数据导入到hdfs 使用的命令 hbase org.apache.hadoop.hbase.mapreduce.Driver import user hdfs://master:9000/user 显示一直重新连接.连接九次后停住不到,已经被这个问题弄疯了 能解答吗各位 报错的信息是: 2015-01-22 00:43:32,293 INFO [main] ipc.Client: Retrying connect to serve

用户研究:有效问卷的数据统计

文章描述:用户问卷调查是一个比较常用的用研方法.方法本身有着一定的科学性,这个毋庸置疑.只是我们在审视或挖掘问卷结果时,尤其是用户的对于某个对象或事物的态度时,希望和其他客观数据结合,如:产品运营数据等.这样,我们得到的结论也许能够更接近于用户的真实情况.   大家是否对用户问卷的结果有过困惑.通过简单的问卷调查,我们无法根据用户对产品的态度结果去准确地预测用户如果在真实环境中的行为. 我们先来看一个案例: 当 Sony 引入 Boom Box 概念的时候,他们召集了一些潜在的消费者,组成焦点小

巧用ASP实现Web数据统计、报表和打印

web|打印|数据|统计 摘 要:本文阐述一种利用ASP实现Web数据统计.报表的基本思路和实现方法,同时提供一种巧妙调用Word打印报表的解决方案. 关键词: ASP,数据统计,报表,打印,Word 1. 引言 随着Internet的飞速发展,基于Web开发的业务应用系统越来越多,如办公自动化.电子商务和管理信息系统(MIS)等.这些Web业务应用系统经常涉及到数据的统计.报表和打印.ASP在实施动态交互和生成动态页面方面具有很大的优势,但在处理复杂数据统计.报表和打印时却遇到不小的麻烦.本文