Python大数据分析算法与实例
上QQ阅读APP看书,第一时间看更新

1.4 大数据分析工具

1.大数据分析前端展现

用于展现分析的前端开源工具有JasperSoft、Pentaho、Spagobi、Openi、Birt等。

用于展现分析的商用分析工具有Style Intelligence、RapidMiner Radoop、Cognos、BO、Microsoft Power BI、Oracle、MicroStrategy、QlikView、Tableau等。

国内大数据分析工具有BDP、国云数据(大数据魔镜)、思迈特、FineBI等。

2.大数据分析数据仓库

有Teradata AsterData、EMC GreenPlum、HP Vertica等。

3.大数据分析数据集市

有QlikView、Tableau、Style Intelligence等。

4.统计分析

统计分析法是指通过对研究对象的规模、速度、范围、程度等数量关系的分析研究,认识和揭示事物间的相互关系、变化规律和发展趋势,借以实现对事物的正确解释和预测的一种研究方法。

5.可视化辅助工具

数据可视化技术的基本思想,是将数据库中每一个数据项作为单个图元元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了。为了满足并超越客户的期望,大数据可视化工具应该具备这些特征:

  •  能够处理不同种类型的传入数据。
  •  能够应用不同种类的过滤器来调整结果。
  •  能够在分析过程中与数据集进行交互。
  •  能够连接其他软件来接收输入数据,或为其他软件提供输入数据。
  •  能够为用户提供协作选项。

下面介绍目前比较实用和流行的4种大数据可视化工具,它们提供了上述所有或者部分的特征。

(1)Jupyter:大数据可视化的一站式商店

Jupyter是一个开源项目,通过十多种编程语言实现大数据分析、可视化和软件开发的实时协作。Jupyter的界面包含代码输入窗口,通过运行输入的代码基于所选择的可视化技术提供视觉可读的图像。

(2)Tableau:AI、大数据和机器学习应用可视化的最佳解决方案

Tableau是大数据可视化的市场领导者之一,在为大数据操作、深度学习算法和多种类型的AI应用程序提供交互式数据可视化方面尤为高效。

(3)Google Chart:Google支持的免费而强大的整合功能

Google Chart(谷歌图表)是大数据可视化的最佳解决方案之一,它是完全免费的,并得到了Google的大力技术支持。

(4)D3.js:以任何用户需要的方式直观地显示大数据

D3.js代表Data Driven Document,是一个用于实时交互式大数据可视化的JS库。由于D3.js不是一个工具,因此用户在使用它处理数据之前需要对JavaScript有一个很好的理解,并且要以一种能被其他人理解的形式呈现。除此以外,这个JS库将数据以SVG和HTML 5格式呈现,所以像IE 7和IE 8这样的旧式浏览器不能使用D3.js的功能。

6.大数据处理框架

随着这些年全世界数据的几何式增长,数据的存储和运算都将成为世界级的难题。分布式文件系统解决的是大数据存储的问题。下面介绍一些分布式计算框架。

(1)Hadoop框架

Hadoop是目前世界上应用最广泛的大数据工具,它凭借极高的容错率和极低的硬件价格,在大数据市场上风生水起。Hadoop是第一个在开源社区上引发高度关注的批处理框架,它提出的Map和Reduce计算模式简洁而优雅。迄今为止,Hadoop已经成为一个广阔的生态圈,实现了大量算法和组件。由于Hadoop的计算任务需要在集群的多个节点上多次读写,因此在速度上会稍显劣势,但是其吞吐量是其他框架所不能匹敌的。

(2)Storm框架

与Hadoop的批处理模式不同,Storm采用的是流计算框架,由Twitter开源并且托管在GitHub上。与Hadoop类似的是,Storm也提出了两个计算角色,分别为Spout和Bolt。

(3)Samza框架

Smaza是一种流计算框架,但它目前只支持JVM语言,灵活度上略显不足,并且Samza必须和Kafka共同使用。相应地,其也继承了Kafka的低延时、分区、避免回压等优势。

(4)Spark框架

Spark属于Hadoop和Storm两种框架形式的集合体,是一种混合式的计算框架。它既有自带的实时流处理工具,又可以和Hadoop集成,代替其中的MapReduce,甚至Spark还可以单独拿出来部署集群,但是还得借助HDFS等分布式存储系统。Spark的强大之处在于其运算速度,与Storm类似,Spark也是基于内存的,并且在内存满负载的时候,硬盘也能运算。运算结果显示,Spark的速度大约为Hadoop的一百倍,并且其成本可能比Hadoop更低。但是Spark目前还没有像Hadoop那样拥有上万级别的集群,因此现阶段的Spark和Hadoop搭配起来使用更加合适。

7.数据库

数据库可视为电子化的文件柜—存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

8.数据仓库/商业智能

数据仓库(Data Warehouse,DW或DWH),是为企业所有级别的决策制定过程提供所有类型数据支持的战略集合。它是为单个数据存储,出于分析性报告和决策支持的目的而创建的。数据仓库可以为需要业务智能的企业提供业务流程改进指导,监视时间、成本、质量以及控制。

商业智能(Business Intelligence,BI)又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。

伴随数据库技术的提高和数据处理技术的发展以及各行业业务自动化的实现,商业领域产生了大量的业务数据,想要从这些海量数据中提取出真正有价值的信息,将数据转化为知识,以支持商业决策,需要用到能提取和存储有用信息,并能支持决策的数据仓库、联机分析处理(On-Line Analysis Processing,OLAP)以及数据挖掘(Data Mining,DM)等技术。因此,从技术层面讲,商业智能不是什么新技术,它是数据仓库、联机分析处理和数据挖掘等技术的综合运用。

9.数据挖掘

数据挖掘,又译为资料探勘、数据采矿。它是数据库知识发现中的一个步骤。数据挖掘一般是指从大量的数据中通过统计、在线分析处理、情报检索、机器学习、专家系统(通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,靠过去的经验法则)和模式识别等诸多方法来实现数据中发现知识。

10.编程语言

做好大数据分析不能缺少编程语言基础,如掌握Python、R、Ruby、Java等编程知识是必不可少的。