
1.2 数据分析简介
数据分析是对大量有序或者无序的数据进行信息整合、提取、展示等操作,通过这些操作将有用的信息提取出来,并总结数据的内在规律。在进行数据分析的过程中需要对数据进行各种处理和归类,只有采用正确的数据分析方法,才能减少在分析过程中所消耗的时间成本。本节主要讲解数据分析的基本流程、方法与技术。
1.2.1 数据分析的基本流程
数据分析是大数据处理流程的核心步骤。由于大数据的数据结构复杂,更多是非结构化数据,因此在使用数据之前有必要进行数据分析。数据分析的基本步骤包括明确思路和制订计划、数据采集、数据处理、数据分析、数据可视化和报告撰写。数据分析的流程如图1-3所示。
(1)明确思路和制订计划
清晰的数据分析思路是有效进行数据分析的首要条件,也是整个数据分析过程的起点。思路清晰,可为资料的收集、处理和分析提供明确的指导。明确思路之后,就可以开始制订计划。只有思路清晰,方案才能确定,分析才会更科学、更有说服力。
(2)数据采集
数据采集是按照一定的数据分析框架,采集与项目相关数据的过程。数据采集为数据分析提供资料和依据。采集的数据包括一手数据和二手数据。一手数据是指能直接获得的数据,如公司内部数据库;二手数据是指需要加工整理后获得的数据,如公开出版物中的数据。采集资料的来源主要有数据库、公开出版物、互联网、市场调查等。

图1-3 数据分析流程
(3)数据处理
数据处理就是将项目所需要的资料收集进行处理,形成适合数据分析的方式。因为数据质量会直接影响数据分析的效果,所以数据处理是数据分析前必不可少的阶段。数据处理的基本目标就是从大量、混乱、难懂的数据中提取并导出有价值的、有意义的数据。数据处理主要包括数据清洗、数据转换、数据提取、数据计算等处理方法。
(4)数据分析
数据分析就是运用适当的分析方法和工具,对收集到和处理过的数据进行分析,提取出有价值的信息,形成有效结论的过程。如今,许多企业会选择使用专业的数据分析工具,并根据自己的需要进行分析。
(5)数据可视化
通过数据分析,隐藏在数据中的关系和规律将逐渐出现。此时,数据可视化形式的选择尤为重要。数据以表格和图形的形式呈现效果更佳,即用图表说话。
(6)报告撰写
数据分析报告是对整个数据分析过程的总结与呈现。数据分析的原因、过程、结果和建议通过报告完整呈现,供决策者参考。一个好的数据分析报告,不仅要有明确的结论、建议和解决方案,而且要图文结合、有层次,让读者一目了然。
1.2.2 数据分析的方法与技术
1.数据分析方法
数据分析是从数据中提取有价值信息的过程,过程中需要对数据进行各种处理和归类,只有掌握正确的数据分析方法,才能起到事半功倍的效果。下面简单介绍几种数据分析方法。
(1)分类分析方法
分类是一种基本的数据分析方法,根据数据的特点,将数据对象划分为不同的部分和类型,然后再进一步分析,从而挖掘事物的本质。
(2)聚类分析方法
聚类分析根据数据对象的内在性质将数据划分成一些聚合类,每个聚合类中的元素具有相同的特性,不同的聚合类之间的特性相差较大或不同。
(3)回归分析方法
回归分析是一种广泛运用的统计分析方法,通过给定的因变量和自变量来确定变量之间的因果关系,从而建立回归模型,并根据实际测试的数据来求解模型中的各个参数,然后确定回归模型是否很好地拟合实际数据,如果可以很好地拟合,则可以根据自变量来进一步预测。
(4)相似匹配分析方法
相似匹配分析是通过一定的方法,来计算两个变量的相似程度,相似程度通常使用百分比来衡量。
(5)因果分析方法
因果分析方法是利用事物变换发展的因果关系来进行预测的数据分析方法。
2.数据分析技术
图1-4显示的是大数据的主流技术体系。下面简单介绍两种常用的数据分析技术。

图1-4 大数据主流技术体系
(1)Hive
Hive是基于Hadoop的数据仓库工具。最初,Hive是由Facebook(Meta的前身)团队开发的,后来移交给Apache软件基金会开发,并作为Apache的一个开源项目。Hive可以将结构化数据映射为一张数据库表,并提供类SQL(HiveQL)来进行查询功能。
Hive最大的特点是通过类SQL进行分析数据,将SQL转变成MapReduce任务来执行,避免了编写MapReduce程序来分析数据,这样缩短了分析数据的时间,更加方便。由于Hive本身并不提供存储数据的功能,所以数据是存储在HDFS上的。Hive提供的HiveQL不仅仅可以进行查询操作,还可以对数据仓库中的数据进行简要的分析与计算,所以Hive可以使已经存储的数据结构化。
(2)Spark
Spark是加州大学伯克利分校的AMP实验室(UC Berkeley AMP Lab)所开发的类MapReduce的通用并行框架,是Apache中的一个开源项目。Spark是一个快速、易用的,可实现复杂分析的通用大数据计算框架,它提供了一个比Hive更快的查询引擎,它依赖于自己的数据处理框架而不是Hadoop的HDFS服务。
Spark是专门为大规模数据处理而设计的快速通用的计算引擎。Spark包含了大数据领域中各种常见的计算框架,如Spark Core用于离线计算,Spark SQL用于交互查询等。Spark得到了众多大数据公司的支持,包括腾讯、百度、阿里、京东等。