1.2 大数据的关键技术

本节主要介绍大数据的关键技术:大数据采集技术、大数据预处理技术、大数据存储及管理技术、大数据分析及挖掘技术和数据可视化技术。

1.2.1 大数据采集、预处理与存储管理

·大数据采集技术:数据采集主要通过Web、应用、传感器等方式获得各种类型的结构化、半结构化及非结构化数据,难点在于采集量大且数据类型繁多。采集网络数据可以通过网络爬虫或API的方式来获取。对于系统管理员来说,系统日志对于管理有重要的意义,很多互联网企业都有自己的海量数据收集工具,用于系统日志的收集,能满足每秒数百MB的日志数据采集和传输需求,如Hadoop的Chukwa、Flume,Facebook的Scribe等。

·大数据预处理技术:大数据的预处理包括对数据的抽取和清洗等方面。由于大数据的数据类型是多样化的,不利于快速分析处理,数据抽取过程可以将数据转化为单一的或者便于处理的数据结构。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,可以将数据集中的残缺数据、错误数据和重复数据筛选出来并丢弃。常用的数据清洗工具有DataWrangler、GoogleRefine等。

·大数据存储及管理技术:大数据的存储及管理与传统数据相比,难点在于数据量大,数据类型多,文件大小可能超过单个磁盘容量。企业要克服这些问题,实现对结构化、半结构化、非结构化海量数据的存储与管理,可以综合利用分布式文件系统、数据仓库、关系型数据库、非关系型数据库等技术。常用的分布式文件系统有Google的GFS、Hadoop的HDFS、SUN公司的Lustre等。

1.2.2 大数据分析与挖掘

数据分析及挖掘是利用算法模型对数据进行处理,从而得到有用的信息。数据分析与数据挖掘的区别在前文已有提及。数据挖掘会从大量复杂的数据中提取信息,通过处理分析海量数据发现价值。大数据平台通过不同的计算框架执行计算任务实现数据分析和挖掘的目地。常用的分布式计算框架有MapReduce、Storm和Spark等。其中MapReduce适用于复杂的批量离线数据处理;Storm适用于流式数据的实时处理;Spark基于内存计算,具有多个组件,应用范围较广。

数据分析是指根据分析目的,用适当的统计分析方法对收集来的数据进行处理与分析,提供有价值的信息的一种技术。

数据分析的类型包括描述性统计分析、探索性数据分析和验证性数据分析。描述性统计分析是指对一组数据的各种特征进行分析,用于描述测量样本及其所代表的总体的特征。探索性数据分析是指为了形成值得假设的检验而对数据进行分析的一种方法,是对传统统计学假设检验手段的补充。验证性数据分析是指事先建立假设的关系模型,再对数据进行分析,验证该模型是否成立的一种技术。

数据挖掘是指从大量的数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、有价值的信息和知识的过程。

数据挖掘有以下五个常见类别的任务。

偏差分析:偏差分析能识别异常数据记录,异常数据可能是有价值的信息但需要进一步调查的错误数据。

关联分析:关联分析能搜索变量之间的关系。例如,超市可能收集有关客户购买习惯的数据。使用关联规则学习,超市可以确定哪些产品经常在一起购买,并将此信息用于营销目的。

聚类分析:聚类分析是在数据中以某种方式或其他“相似”发现数据组和结构的任务,而不使用数据中的已知结构。

分类:分类是将已知结构推广到新数据的任务。例如,电子邮件程序可能会尝试将电子邮件分类为“合法”或“垃圾邮件”。

回归:回归是利用历史数据找出变化规律。它尝试找到以最小误差建模的函数,用于估计数据或数据集之间的关系。结合自然语言处理、文本情感分析、机器学习、聚类关联、数据模型进行数据挖掘,可以帮助我们在海量数据中获取更多有价值的信息。

1.2.3 数据可视化

数据可视化是指将数据以图形图像形式表示,向用户清楚有效地传达信息的过程。通过数据可视化技术,可以生成实时的图表,它能对数据的生成和变化进行观测、跟踪,也可以形成静态的多维报表以发现数据中不同变量的潜在联系。