前言

大数据时代的到来为社会各行各业的发展带来了多方位的影响,在大数据时代背景下,包括航空、金融、电商、政府、电信、电力、医疗、煤炭、教育等各个行业或企业都在纷纷挖掘大数据。大数据的能量是不可估量的,比如在2020年,大数据分析技术在新冠肺炎疫情预测、密切接触者追踪方面都产生了至关重要的作用,大大提升了疫情防控和复工复产的效率。

大数据处理关键技术一般包括大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。然而,调查显示:未被使用的信息比例高达99%,造成这种结果的主要原因是无法采集高价值的信息。如何从大数据中采集有用的信息并合理地存储起来是大数据发展的最关键因素之一,也可以说数据采集与处理是大数据产业的基石。

目前,大数据方面的著作、系列教材很多,但专门论述大数据采集与处理方面的书籍不多。应电子工业出版社米俊萍编辑之邀,我负责组织团队编写本书。考虑到大数据应用与行业及企业的结合紧密,在大数据技术学习和教学中,应更偏向新技术的应用,对工程实践能力要求更高,我邀请中原工学院的杨腾飞、郑州煤机液压电控有限公司的王军峰、河南省职工医院的朱彦霞、郑州天迈科技股份有限公司的孙方金、河南有线电视网络集团有限公司的华南参与编写,他们都是单位大数据应用的一线研发工程师,具有较丰富的大数据技术及应用实战经验。书中部分内容是他们多年研发心血的结晶。产教融合是我们编写团队的目标。

因考虑到目前市场上已有不少关于大数据存储、分析与挖掘的理论及技术的书籍,故本书在大数据存储部分只对目前流行的数据库技术加以介绍,对大数据分析与挖掘技术不再论述。本书内容组织框架如图0-1所示。

全书共12章,各章主要内容如下。

第1章 大数据基础。本章主要介绍面向大数据的基础知识体系,学习大数据的概念、基本特征、处理流程及分析应用等。

第2章 开源Hadoop。本章主要介绍Hadoop框架及特性、Hadoop生态系统及其各功能组件,学习Hadoop的安装和使用。

第3章 大数据采集。本章主要介绍大数据采集的分类和方法,学习如何利用Flume、Fluentd、Logstash、Chukwa、Scribe、Forwarder、Scrapy等常用大数据采集平台及网络爬虫技术采集大数据。

第4章 日志采集。本章主要对比分析常用的开源日志采集系统Scribe、Chukwa、Kafka和Flume等,学习如何基于Flume进行日志采集实战。

图0-1 本书内容组织框架

第5章 大数据预处理。本章主要介绍大数据预处理总体架构及常用的四种数据预处理方法,学习如何使用目前流行的ETL工具Kettle基于Hadoop生态圈进行大数据预处理。

第6章 大数据存储。本章主要介绍HDFS数据库和HBase、MongoDB、Redis等NoSQL数据库及ElasticSearch,学习如何基于Redis进行数据存储实战。

第7章 MapReduce。本章主要介绍MapReduce计算框架、工作流程、原理及Shuffle过程等,以WordCount为例学习实战编程。

第8章 Hive数据仓库。本章主要介绍Hive的体系结构、工作原理、数据模型及其基本操作,从运行结构、执行流程、实际应用操作等方面介绍Impala和Spark SQL,以YouTuBe项目为例进行项目实战。

第9章 流计算。本章主要介绍目前流行的三大流计算框架Spark Streaming、Storm、Flink的基本原理、运行架构及适用场景,通过实例学习三大流计算框架的运行机制及应用实现。

第10章 Pregel图计算。本章主要介绍Pregel图计算模型、工作原理、体系结构及Pregel开源实现Hama,学习图计算应用经典案例PageRank的Pregel和Hama实现。

第11章 大数据安全技术及应用。本章主要介绍大数据安全的定义、常见大数据安全威胁形式、大数据安全管理和应用,通过案例学习大数据安全的重要性及预防措施。

第12章 行业大数据采集与处理。本章主要结合大数据应用各行业背景,介绍电商、煤炭、教育、医疗、电信、交通等行业的大数据采集与处理,并以某电商网站数据分析为背景,介绍了一个完整的数据采集、清洗、处理的离线数据分析案例,以期给读者展示一个系统的实践操作过程。

本书框架和内容由张雪萍规划;第1、3、4章由杨腾飞编写,第2、7章由王军峰和孙方金合写,第6章由王军峰和杨腾飞合写,第5、10章由张雪萍编写,第8章由张雪萍和杨腾飞合写,第9、11章由朱彦霞和华南合写,第12章由上述6人合写;全书由张雪萍统稿润色。

本书既适合大数据、人工智能等领域的工程技术人员学习参考,也非常适合作为高校教材使用。本书涉猎技术领域相关论著较少,所著内容新颖、系统全面、实践指导性强,且每章均有习题,可作为高等院校计算机学科大数据及其相关专业的本科生和研究生教材。高职高专院校也可以选用本书部分内容开展教学。课程教学建议为64学时,其中,上机实验设20~24学时为宜。

感谢我的恩师王家耀院士一路的指导、支持和帮助,他从2003年引领我入门空间数据挖掘研究,到带领研究团队在第三届时空大数据产业技术发展高峰论坛上正式发布“时空大数据通用平台系统”,他高瞻远瞩、与时俱进,时时鞭策我在大数据与人工智能的研究道路上不断前行;感谢我的导师庄雷教授一路亦师亦友的关怀、帮助和鼓励,她严谨治学、孜孜不倦,时时提醒我要以更高的标准写好书;感谢我的研究生团队多年的支持和配合,他们不计名利、通力合作、无私奉献的精神让我感动;感谢信息学院2017—2020级的中外研究生们,他们在《高级数据库系统》和《空间数据库原理》课上的深入讨论、精彩演讲使我收获颇多;感谢书中所引材料的那些不知道真实姓名的学者(书中所引大部分为网上资料,我们尽可能在书中标注文献索引,但有些资料已找不到原文链接或出处,敬请谅解!),他们呕心沥血、不断创新、无私分享,为本书提供很多素材;感谢我的研究生王居正、Azza Abdellatif Siddig Omer为本书实战部分上机验证;感谢云创大数据刘鹏教授及其团队的帮助;感谢诸位审稿专家的不吝赐教。

由于编写时间仓促,水平所限,书中难免会出现一些错误或不准确的地方,恳请读者批评指正。如果您有更多的宝贵意见,可通过微信号zz67789875或邮箱zhang_xpcn@aliyun.com联系我,期待在技术之路上与您互勉共进。

张雪萍

2021年3月16日

于河南工业大学