前言
本书以Hadoop和Spark为核心,阐述了基于这两种通用大数据处理平台的应用开发技术。
在Hadoop生态圈中,从HDFS初识分布式存储系统;以Map Reduce详解分步式计算的步骤;利用HBase分析适合非结构化数据存储的分布式数据库;利用Hive分析将SQL查询转化为分布式计算的过程;并结合项目案例“音乐排行榜”练习Hadoop核心技能点的运用;同时,介绍了几种离线处理系统中常用的辅助工具。
在Spark生态圈中,从Scala开始介绍多范式编程;并从Spark Core、Spark SQL、Spark Streaming三个方面来分析对比Hadoop生态圈中的分布式计算、Hive、流式计算的可替换方案和它们各自的优势。
技能训练
掌握Hadoop运行环境的部署。
掌握大数据文件在HDFS中的存储。
掌握Map Reduce编程模型以及Map Reduce应用开发方法。
掌握YARN的运行原理。
掌握HBase数据库的操作方法。
掌握Hive数据仓库的操作方法。
掌握常用离线处理辅助系统Sqoop和Azkaban的用法。
掌握Scala基本编程方法。
掌握Spark RDD创建与操作。
掌握Data Frame编程方法。
掌握Spark Streaming对Socket、HDFS数据进行流式处理的方法。
了解Spark Streaming与Flume、Kafka的整合。
设计思路
本书共12章,内容包括Hadoop初体验、Hadoop分布式文件系统、Hadoop分布式计算框架、Hadoop新特性、Hadoop分布式数据库、Hadoop综合实战——音乐排行榜、数据仓库Hive、大数据离线处理辅助系统、Spark基础、Spark Core、Spark SQL和Spark Streaming。具体内容安排如下。
第1章是对Hadoop的总体概述,介绍大数据基本概念、Hadoop生态圈、Hadoop与大数据的关系以及Hadoop安装部署的详细步骤。
第2章是对HDFS的介绍,主要包括HDFS的体系结构、Shell操作以及通过Java API实现访问。
第3章是对Map Reduce分布式计算框架的讲解,包括Map Reduce的编程模型、编写和运行Map Reduce程序。
第4章是对Hadoop新的资源调度框架YARN及Hadoop新特性的讲解,以及如何实现Hadoop高可用集群。
第5章是对HBase数据库的讲解,介绍HBase的安装及其使用方法。
第6章通过案例“音乐排行榜”的实现,对前面各章的技能点做一个阶段回顾与总结,介绍如何通过HDFS、Map Reduce与HBase的结合使用完成Hadoop离线批处理应用开发。
第7章是对Hive的讲解,介绍如何使用类似于SQL查询的方式来执行Map Reduce计算。
第8章介绍Sqoop、Azkaban这两种在开发离线处理系统时常用的辅助工具。
第9章是对Spark的基本介绍,包括Spark的安装与运行、Spark的开发语言Scala。
第10章是对Spark的核心RDD的详解,介绍Spark Core的编程模型以及Spark应用程序的开发。
第11章是对Spark SQL的详解,包括常用的SQL on Hadoop框架、Spark SQL的编程方法以及Spark SQL对多种外部数据源的操作。
第12章是对Spark Streaming的详解,包括Spark Streaming核心概念、常用的流处理系统,以及使用Spark Streaming进行流处理应用的开发。
章节导读
技能目标:本章要达成的学习目标,可以作为检验学习效果的标准。
本章任务:本章要完成的学习内容及要求,通过任务描述引导读者思考,进而引导读者全面了解章节内容。
案例代码:通过代码让读者掌握如何应用本章讲解的技能点。
本章总结:本章内容的概括和总结。
本章练习:针对本章学习内容的补充性练习,用于加强对本章知识的理解和运用。
本书由课工场大数据开发教研团队编写,参与编写的还有丁科、吴刚山、鄢长青、张琪等院校老师。由于编者水平有限,书中不妥或错误之处在所难免,殷切希望广大读者批评指正!
编者
2017年12月