大数据背景下基于Hbase技术的移动统计平台研究

时间:2022-09-24 01:00:34

大数据背景下基于Hbase技术的移动统计平台研究

摘要:近些年,受市场因素影响越来越多的开发者有传统的电脑软件开发转而投向手机APP的应用开发。移动应用迎来前所未有的高速发展阶段。想在竞争激烈的APP开发市场中赢得先机,拔得头筹,是很多软件开发者想要做的事情。文章首先分析了开发者要对自身有足够认识,对于自己在市场中所有的表现有所了解,其次,还要了解自身开发软件所具备的优势和劣势,要将自身软件所独有的特点做到了然于心,做到了以上2点才能使开发者自身开发的软件具有足够强的竞争力,在移动应用市场中占有一席之地。要想取胜不仅要做到知己,还要做到知彼,要想做到知彼,需要从用户处获取数据并对数据进行统计计算,考虑到数据量是非常巨大且不一定是结构化的,利用HBase和Hadoop提供的分布式海量存储和并行计算的能力,可以实现对移动应用的统计。

关键词:统计分析;数据挖掘;数据仓库;分析

1引言

当今社会,很多传统行业为了自身发展,适应潮流,纷纷踏入到移动应用这块市场,在这种背景下,催生了大量的手机APP应用。由于手机具有便于携带的特点,手机APP应用就成了人们首选的互联网社交工具,移动社交网络也日益流行。由于社交网络具有灵活随时的特性,所以社交网络禅城的数据模块也越来越巨大。推特、脸书、雅虎等国外著名社交网站,因其巨大的用户使用量,加之随着随着移动互联网宽带技术的不断提高,3G、4G的不断发展,导致用户间、用户和网络服务提供商间的数据传输量非常大。比如通过QQ、微信等即时通信软件发送的图片、视频、语音文件,通过淘宝、京东等购物软件发送的图片、视频、表单等,通过视频网站观看的视频等等。根据著名社交网站脸书官方统计,仅一天该网站的就需要处理约500TB的数据。传统单点高性能的服务器和关系型数据库已无法适应高速增长的数据处理需求,一种新的具有良好兼容性的键值型数据及与之匹配的Distributed multinode计算框架就成为了移动数据分析的首选如图1所示。在这个背景下,一种面向开发者的移动应用数据统计分析平台应运而生。很显然,要做到针对移动应用不同侧面的精细化分析,首先需要获取海量应用的属性信息及相关使用数据,与社交网站的用户数据类似,这些数据也具有规模巨大、高速增长的特点。所以,Key-Value数据库和多节点的分布式计算框架也是移动应用数据统计分析平台的关键支撑技术。

2HBase概述

HBase作为一种开源的、面向列(Column Oriented)的Key Value型数据库,它是Google BigTable在Hadoop框架上的一个具体实现。HBase主要对海量数据的实时读取和聚合计算以及分布式的数据存储和随机访问都有较好的支持。Hbase更像是Bigtable的开源版本。是建立的HDFS技术之上,能够提供高列存储、可伸缩、可靠性、高性能、实时读写的数据库系统。

Hbase是一个分布式开源数据库,基于Hadoop分布式文件系统,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能。

Hbaes的目标是处理非常庞大的表,可以用普通的计算机处理超过10亿行数据,并且有数百万列元素组成的数据表。Hbase可以直接使用本地文件系统或者Hadoop作为数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥Hbase处理大数据量等功能,需要使用Hadoop作为文件系统,那么就先要了解Hadoop文件系统的基本特性和原理,才能更好地理解Hbase的工作方式。

HBase中的表一般有以下3个的特点:(1)单一的表可以有上亿行,上百万列;(2)面向列(族)的存储和权限控制,列(族)独立检索;(3)对于为空(null)的列,并不占用存储空间,因此,表可以设计得非常稀疏。

3系统架构

一个完整的HBase架构主要包含以下几个部分:

(1)Client:包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。(2)Zookeeper:保证任何时候,集群中只有一个master;存贮所有Region的寻址入口;实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master;存储Hbase的schema,包括有哪些table,每个table有哪些column family。(3)Master:为Region server分配region;负责region server的负载均衡;发现失效的region server并重新分配其上的region;GFS上的垃圾文件回收;处理schema更新请求。(4)Region Server:Region server维护Master分配给它的region,处理对这些region的IO请求;Regionserver负责切分在运行过程中变得过大的region,可以看到,client访问hbase上数据的过程并不需要master参与(寻址访问zookeeper和region server,数据读写访问regioneserver),master仅仅维护者table和region的元数据信息,负载很低。

4基于HBase的移动统计平台设计

4.1移动统计平台整体设计

图2展示了移动统计平台的主要功能模块,这2个功能模块自上到下构成了整个系统的数据基本流向。

4.2移动应用SDK模块

App SDK是一种为了方便开发者采集移动应用数据工具包,通过对自己的移动应用源代码中插入相应的函数来开发者可以采集相应的数据。在任何一个SDK函数在背后都绑定了一套特定的业务逻辑,函数执行的同时,SDK会采集移动应用的当前数据利用Http协议发送到服务器或者保存在本地。

4.3端末数据采集模块

端末数据采集模块是一套Api网络接口,用于获取并解析从SDK或者其他客户端传送过来的数据,并将数据分置在HDFS或者HBase中。它作为整个系统服务器体系的核心,控制着大部分的业务逻辑。

5结语

在移动应用越来越丰富的今天,对一个移动应用进行信息采集和统计显得尤为重要。基于HBase的移动统计平台可以有效地统计出开发者所需要的各类数据,通过将图表化的统计结果直观地显示了各类数据,方便开发者总结趋势和移动应用的改进从而为开发者的开发提供便利。

上一篇:EOC+EPON电视信号传输技术研究 下一篇:浅析LTE网络优化方法与思路