基于Hadoop与Spark的大数据开发实战pdf下载

基于Hadoop与Spark的大数据开发实战百度网盘pdf下载

作者:
简介:基于Hadoop与Spark的大数据开发实战
出版社:人民邮电出版社
出版时间:2018-04-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  1、选取知识点核心实用,以互联网+实现终身学习
  2、以企业需求为设计导向,以任务驱动为讲解方式
  3、以案例为主线组织知识点,以实战项目来提升技术
  4、充分考虑学习者的认知曲线,由浅入深,边讲边练
  
内容简介
  大数据技术让我们以一种前所未有的方式,对海量数据进行分析,从中获得有巨大价值的产品和服务,最终形成变革之力。本书围绕Hadoop和Spark两个主流大数据技术进行讲解,主要内容包括Hadoop环境配置、Hadoop分布式文件系统(HDFS)、Hadoop分布式计算框架MapReduce、Hadoop资源调度框架YARN与Hadoop新特性、Hadoop分布式数据库HBase、数据仓库Hive、大数据离线处理辅助系统、Spark Core、Spark SQL、Spark Streaming等知识。
  本书紧密结合实际应用,运用大量案例说明和实践,提炼含金量十足的开发经验。另外,本书配以多元的学习资源和支持服务,案例素材下载、学习交流社区、讨论组等学习内容,为读者带来全方位的学习体验。
作者简介
  肖睿任职于北京课工场教育科技有限公司。课工场是专注互联网教育的生态平台,汇聚了中国和北美数百位来自知名互联网企业的行业大咖,向寻求就业和技术提升的人群提供直播、录播、面授等多模式教学场景,并通过遍布全国的线下服务中心提供成熟的学习服务,形成完善的“互联网+教育”解决方案。同时,课工场也为高校、企业、行业提供教育技术赋能,依托Transformer智能教育生态平台,打造智慧校园、企业大学、行业培训的教育场景,提供一站式教育解决方案。
目录
版权信息
序言
前言
关于引用作品的版权声明
第1章 Hadoop初体验
任务1 初识大数据
任务2 初识Hadoop
任务3 安装Hadoop平台
本章总结
本章练习
第2章 Hadoop分布式文件系统
任务1 HDFS入门
任务2 HDFS基本操作
任务3 HDFS运行原理
任务4 HDFS高级知识
本章总结
本章练习
第3章 Hadoop分布式计算框架
任务1 认识Map Reduce编程模型
任务2 Map Reduce应用开发
任务3 Map Reduce高级应用
本章总结
本章练习
第4章 Hadoop新特性
任务1 初识YARN
任务2 了解HDFS新特性
任务3 了解YARN新特性
本章总结
本章练习
第5章 Hadoop分布式数据库
任务1 认识HBase
任务2 HBase Shell操作
任务3 HBase编程
本章总结
本章练习
第6章 Hadoop综合实战——音乐排行榜
任务1 Map Reduce与HBase的集成
任务2 HBase Map Reduce API
任务3 实现音乐排行榜
本章总结
本章练习
第7章 数据仓库Hive
任务1 Hive基础
任务2 掌握Hive操作
任务3 Hive高级应用
本章总结
本章练习
第8章 大数据离线处理辅助系统
任务1 认识并使用数据迁移框架Sqoop
任务2 使用Azkaban实现工作流调度
本章总结
本章练习
第9章 Spark基础
任务1 Spark入门
任务2 Scala基础
任务3 编译Spark
任务4 Spark初体验
本章总结
本章练习
第10章 Spark Core
任务1 Spark RDD
任务2 RDD高级应用
任务3 基于RDD的Spark应用程序开发
本章总结
本章练习
第11章 Spark SQL
任务1 认识Spark SQL
任务2 Spark SQL编程基础
任务3 Spark SQL编程进阶
本章总结
本章练习
第12章 Spark Streaming
任务1 流处理框架及Spark Streaming
任务2 使用Spark Streaming编程
任务3 Spark Streaming高级应用
本章总结
本章练习
附录
前言
  前言
  本书以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月
精彩书摘
  1.大数据概述
  相信大家经常会在各种场合听到“大数据”这个词,被誉为数据仓库之父的Bill Inmon早在20世纪90年代就将大数据挂在嘴边了。那么到底什么是大数据呢?这是我们在本章要了解的。
  我们现在生活的时代是一个数据时代,近年来随着互联网的高速发展,每分每秒都在产生数据,那么产生的这些数据如何进行存储和相应的分析处理呢?各大公司纷纷研发和采用一批新技术来应对日益庞大的数据处理需求,主要包括分布式文件系统、分布式计算框架等,这些都是我们需要学习和掌握的。
  《互联网周刊》对大数据的定义为:“大数据”的概念远不止大量的数据(TB)和处理大量数据的技术,或者所谓的“4个V”之类的简单概念,而是涵盖了人们在大规模数据的基础上可以做的事情,这些事情在小规模数据的基础上是无法实现的。换句话说,大数据让我们以一种前所未有的方式,通过对海量数据进行分析,来获得有巨大价值的产品和服务,或深刻的洞见,最终形成变革之力。
  2.大数据特征
  (1)数据量大(Volume)
  随着网络技术的发展和普及,每时每刻都会产生大量的数据。在我们的日常生活中,比如说在电商网站购物、在直播平台看直播、在线阅读新闻等,都会产生很多的日志,汇在一起每分每秒产生的数据量将是非常巨大的。
  (2)类型繁多(Variety)
  大数据中最常见的类型是日志,除了日志之外常见的还有音频、视频、图片等。由于不同类型的数据没有明显的模式,呈现出多样性的特点,这对于数据的处理要求也会更高。
  (3)价值密度低(Value)
  现阶段每时每刻产生的数据量已经很大了,如何从大量的日志中提取出我们需要的、对我们有价值的信息才是最重要的。数据量越来越大,里面必然会存在着大量与我们所需不相干的信息,如何更迅速地完成数据的价值提炼,是大数据时代有待解决的问题。
  (4)处理速度快(Velocity)
  传统的离线处理的时效性不高,换句话说时延是非常高的。随着时代的发展,对时效性的要求越来越高,需要实时对产生的数据进行分析处理,而不是采用原来的批处理方式。
  1.对现有数据库的挑战
  随着互联网时代的到来,现在产生的数据如果想存储在传统数据库里是不太现实的,即便传统的数据库有集群的概念,仍然不能处理TB量级的数据。而且现阶段产生的数据类型很多,有些类型的数据是没办法使用结构化数据查询语言(SQL)来处理的。
  2.实时性的技术挑战
  我们知道数据产生的价值会随着时间的流逝而大大降低,所以当数据产生后我们要尽可能快地进行处理。最典型的就是电商网站的推荐系统,早些年的推荐系统都是基于批处理来进行的,比如每隔半天或者一天进行计算然后再进行推荐,这样就会有很大的延时,对于订单的转换而言虽然有效果但不是很好。如果能做到实时推荐,那么肯定能大大提高公司的营业收入。
  传统的离线批处理对处理时间的要求并不高。而实时处理的要求是区别大数据应用和传统数据库技术或者离线技术的关键差别之一。
  3.对数据中心、运维团队的挑战
  如今每天产生的数据量正呈爆炸式增长,那么如此多的数据该怎样进行高效的收集、存储、计算都是数据中心要面临的一个非常棘手的问题。而处理快速增长的数据量所需要的机器也日益增多,那么对于运维团队来说压力也会增加。
精彩插图