【本文摘自:李福东《大数据运营》第8章内容回顾,了解更多请关注微信公号:李福东频道】
编制按
实现大数据运营,需要技术作为支撑手段。以Hadoop、Spark为代表的开源软件发挥了重要的作用,站在大数据处理流程角度,掌握数据采集、数据存储(关系型、分布式)、数据分析(离线、实时)、数据可视化(Web、GIS、移动)等非常必要。
文章正文
企业要实现基于大数据的运营,大数据相关技术起到至关重要的作用。
不同于支持事务型应用的技术,大数据技术具有自身的特殊性,分别体现在数据存储、数据分析以及数据展示3个方面。
(一)大数据存储技术总结
在数据存储方面,大数据具有数据容量大并且随着时间的变化数据量持续增长的特点,因此要求数据库存储系统能够做到存储空间的线性扩展,这样就不会出现因为存储空间不足而影响系统整体性能的问题。
以HDFS为代表的分布式文件系统,将数据文件主机内部的磁盘上,而不是像传统方式放到独立的磁盘阵列中,同时以数据块为存取单位而不是字节,从而提高了数据存取的效率。
每个数据存储节点都是分布式存储系统的一个节点,节点之间互不影响,因此可以做到存储空间的线性扩展。
当然HDFS也存在着不足,由于各个存储节点都是独立的,如果想关联多个存储文件的内容,需要遍历多个主机节点,效率很低,因此主要适合面向数据表之间关联度低的分析型应用。
基于关系代数理论的关系型数据库存储系统与分布式文件系统不同,关系型数据库存储系统基于单机模式发展起来,擅长多个数据表之间的关联分析,但关系型数据库的不足之处是数据库扩展性差。
尽管采用集群方式提高了数据库系统的扩展性,但是受限于集中控制模式的限制,数据库扩展性非常有限,并且随着集群规模的不断增大,存储系统整理性能急剧下降,无法做到线性扩展。
(二)大数据分析技术总结
在数据分析方面,从数据分析的实时性角度分为离线分析和实时流式分析两类,从数据分析的模式角度分为大数据MapReduce分析和关系型数据库分析两种类型,从数据建模角度分为大规模数据分析和基于样本数据的分析两类。
离线分析技术适用于实时性要求不高的场景,特点是支持的数据规模大。实时流式分析可以快速地完成数据的统计,但是仅仅适合于完成海量数据某一个侧面的计算,比如用户偏好画像、搜索关键字统计等。
大数据计算模型以MapReduce最为经典。MapReduce算法由谷歌公司发明,好比高等数学里面的微积分。
首先将大文件“微分”为多个小的数据块并存入HDFS集群中,然后再通过MapReduce完成对“微分”数据的“积分”。Map负责以映射的方式提取分散在大数据集群中的数据项,Reduce则负责对排序后的统计数据进行聚合(求和、求均值等)输出。MapReduce计算模型特别适合对分布式文件系统中的统计分析。
MapReduce计算模型之所以能够满足海量数据的统计,根源在于被统计文件虽然规模大,但是是采用列式存储方式,原始数据具有共同的数据特征,而关系型数据是按行存取的,每一行中不同列的数据特征都不一样,要完成数据的统计需要扫描所有行,因此,面向海量数据时的统计效率低,只能通过分区、索引等方式将数据规律性布放,提高数据的存取效率。
尽管MapReduce计算模型非常强大,但是如何实现统计功能需要编程实现,而开源工具R软件采用命令行方式,可以快速完成数据建模、统计分析以及可视化工作。
R软件的优势是能够快速调整模型、快速见到分析结果,不足之处是对于海量数据的分析能力差,因此需要将Hadoop/MapReduce计算模型与R软件结合起来,R软件侧重基于样本数据构建分析模型,而MapReduce则侧重于为R软件提供样本数据。
补充一下,Python已经成为数据分析和机器学习的主流语言。
(三)大数据展示技术总结
“一图胜千言”,大数据分析结果如果以表格形式来展现统计报表结果,则很难发现数据背后隐藏的规律,原因是客户世界中不同事物之间的联系并不是线性的,而是网状的。
按照分析结果展示的形式,将大数据展示技术分为Web展示技术、GIS展示技术以及移动客户端展示技术3种类型。
Web展示技术是最简单、最传统的展示技术,它借助Web浏览器和图形控件展示统计分析结果。Flash控件是当下流行的Web展示技术,Flash控件提供了统计结果数据的注入接口,可以以2D、3D形式展示柱状图、饼图、地图等多种统计图形。
GIS展示技术侧重于展示具有空间特性的对象,比如河流湖泊、交通路线、通信网络等。基于GIS技术展示统计结果,更具有现实感,更能够激发创造性。GIS展示技术与定位技术相结合,会形成多种基于位置的创新型应用。
移动客户端展示技术主要考虑移动终端屏幕大小和用户位置信息,由于移动终端的随身性,与GIS相结合则能够直观地掌握用户的运动轨迹,可以定位地理空间的目的地以及到达该目的地的路线。
领取专属 10元无门槛券
私享最新 技术干货