前言
FOREWORD
大数据已经进入我们社会生活的各个层面,学习、使用大数据成为社会各行各业的共识。掌握大数据技术成为数据科学、计算机科学与技术、软件工程、管理科学与工程等相关领域大数据工作者的一种内在要求。
我们希望本书能结合大学教学的实际情况,向学生介绍大数据技术的基础知识,帮助学生了解大数据技术的概貌。主要内容安排如下。
第1章 大数据概述。在介绍目前主流大数据技术前,本章概括介绍了诸如分布式、虚拟化与云计算、数据库与数据仓库等与大数据技术密切相关的概念。
第2章 大数据软件基础。考虑到大学授课的特点,本章把在前序课程中可能忽视的Linux基础操作、Java基础和SQL语法等与后续大数据实践相关的重点知识作为大数据软件技术基础进行了补充,避免因为学生基础知识的不足而导致学习困难等方面的问题。此外,本章还介绍了如何安装Linux集群,为后续章节的内容做铺垫。
第3章 大数据存储技术。重点介绍Hadoop分布式文件系统HDFS以及常见的NoSQL数据库,并对Hadoop和HBase的安装配置及API开发进行了介绍。
第4章 MapReduce分布式编程。重点介绍Hadoop的MapReduce编程及其基本原理。
第5章 数据采集与预处理。重点介绍大数据采集与传输数据的工具,包括Flume、Sqoop和Kafka。
第6章 数据仓库与联机分析处理。本章首先讨论被业界广泛接受的数据仓库的概念和定义,研究应用于数据仓库和OLAP的多维数据模型——数据立方体,然后详细介绍基于Hadoop平台的数据仓库工具与相应的联机分析技术,包括Hive、Kylin及Superset等。
第7章 大数据分析与挖掘技术。本章对数据挖掘与分析的基本原理进行讨论,并对Hadoop家族中的重要成员——Mahout进行介绍,描述其在具体应用中的使用方法。
第8章 Spark分布式内存计算框架。本章立足于实战,重点介绍Spark的编程模型和RDD 统一抽象模型、Spark的工作和调度机制以及以 Spark 为核心衍生的生态系统——SparkSQL、流式计算、机器学习、图计算等,最后对Zeppelin数据分析工具进行简要介绍。
第9章 数据可视化技术。本章首先简单介绍数据可视化的发展历史、可视化工具分类,然后重点结合ECharts介绍Web可视化组件生成方法,并给出JavaWeb开发与相关大数据组件的数据集成,以展现数据可视化结果。
第10章 大数据安全。本章首先介绍大数据安全的挑战与对策,然后结合企业界成熟的华为公司大数据技术安全解决方案,对大数据基础设施安全、安全管理技术、安全分析、隐私保护等内容进行了介绍。
本书的编写得益于华中科技大学软件学院数据科学中心师生的共同努力,其中薛志东负责本书的策划并主要编写了第2章、第3章、第4章、第5章和第9章;陈长清主要编写了第1章;吕泽华主要编写了第6章、第7章和第8章;黄浩主要编写了第10章。此外,姚益阳、杜海朋、董英豪、卢璟祥、张双双、邹小威、张学清、郭映中、汪元也参加了本书部分内容的编写工作。曾辉、余晨晨、奉俊丰参加了本书部分代码的整理工作。
在本书的编写过程中,编者参考、引用了华为技术有限公司ICT学院提供的资料、相关技术的官方文档和大量互联网资源,在此向有关单位、作者表示感谢,并尽量在参考文献部分一一列出,若有遗漏和不妥之处,敬请相关作者指正。
感谢华为技术有限公司刘洁、张志峰,华中科技大学软件学院陈传波教授、肖来元教授、沈刚教授,以及陈维亚博士、区士颀博士、石强博士对图书编写工作予以的支持与帮助。
由于时间仓促,编者水平有限,书中难免存在不足之处,敬请读者批评指正。
编者
2018年5月于华中科大软件学院