新書推薦:
《
组队:超级个体时代的协作方式
》
售價:HK$
77.3
《
第十三位陪审员
》
售價:HK$
53.8
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
Python贝叶斯深度学习
》
售價:HK$
89.4
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
78.4
《
有趣的中国古建筑
》
售價:HK$
67.0
《
十一年夏至
》
售價:HK$
76.2
《
如何打造成功的商业赛事
》
售價:HK$
89.5
|
內容簡介: |
本书针对大数据处理的两种典型方式,即批处理和流处理,介绍了当前Apache软件基金会三大软件开源项目Hadoop、Spark和Storm中主要的存储及计算框架。本书从初学者的角度出发,聚焦于大数据处理框架的基本原理以及安装和部署等实践过程。通过本书的学习,读者在了解处理框架的结构、设计原理以及执行流程等原理性知识的同时,还可以结合本书给出的完整部署过程以及WordCount等示例的完整源代码,熟悉如何使用这些处理框架来编写大数据处理程序以及大数据处理程序的基本结构。 本书配套PPT、源代码等资源,欢迎选用本书作为教材的老师登录机工教育服务网www.cmpedu.com注册下载。 本书可作为高等院校计算机、数据科学与大数据技术及人工智能或相关专业的本科生或研究生教材,也可供相关工程技术人员阅读参考。
|
目錄:
|
前言第1章大数据与基本处理框架11.1大数据产生的背景11.1.1数字化11.1.2网络化21.2大数据的特征21.3大数据的价值与意义31.3.1量变到质变31.3.2数据科学的产生41.3.3思维的变革41.4大数据带来的挑战51.5大数据的基本处理框架51.5.1Hadoop61.5.2Spark71.5.3Storm81.6本章小结8第2章运行与开发环境搭建102.1虚拟机的创建102.1.1虚拟化软件的安装102.1.2虚拟机的创建112.1.3VMware Tools的安装172.2Linux的常用命令182.3JDK的安装182.4IDEA+Maven的安装202.4.1IDEA的安装202.4.2Maven的安装212.4.3在IDEA项目中配置JDK和Maven222.5Hadoop运行环境部署232.5.1SSH的安装232.5.2Hadoop的安装242.5.3伪分布式环境配置252.6本章小结27第3章Hadoop文件系统(HDFS)283.1文件系统283.2HDFS分布式文件系统283.2.1HDFS的设计目标293.2.2HDFS的原理与结构303.3HDFS的操作流程313.3.1HDFS文件读流程323.3.2HDFS文件写流程323.4HDFS的接口343.4.1Shell命令343.4.2Web客户端363.4.3Java API363.5本章小结40第4章Hadoop分布式计算框架MapReduce414.1MapReduce计算框架概述414.2MapReduce计算过程424.2.1map阶段424.2.2shuffle阶段434.2.3reduce阶段454.3MapReduce的架构与运行流程454.4WordCount的MapReduce程序474.4.1WordCount程序的pom.xml文件474.4.2WordCount程序的Java文件484.4.3WordCount代码说明504.5Mapper/Reducer类源码解析524.6Hadoop的数据类型554.6.1Hadoop基本数据类型554.6.2自定义Hadoop数据类型564.7数据输入格式InputFormat584.7.1默认的TextInputFormat584.7.2getSplits()操作604.7.3LineRecordReader624.7.4自定义输入格式654.8数据的输出格式OutputFormat664.8.1默认的输出格式TextOutputFormat664.8.2LineRecordWriter684.8.3自定义输出格式类型714.8.4Hadoop的SequenceFile714.9自定义Combiner类724.10自定义Partioner类734.11多MapReduce任务的串联744.12本章小结78第5章Hadoop数据库系统HBase795.1HBase概述795.1.1数据库与数据库系统795.1.2传统关系型数据库系统805.1.3NoSQL数据库系统805.1.4HBase数据库系统805.2HBase的数据模型815.2.1HBase的逻辑视图815.2.2HBase的物理视图825.3HBase的架构与运行机制835.3.1HBase分布式存储策略835.3.2HBase的运行架构855.4HBase的安装与部署885.4.1安装ZooKeeper885.4.2安装HBase 905.4.3伪分布式环境配置905.5HBase操作接口与实践925.5.1HBase Shell命令925.5.2Java API965.6本章小结107第6章分布式内存计算框架Spark1086.1Spark概述1086.1.1MapReduce计算框架的局限性1086.1.2Spark的优势与特点1096.2Spark的架构1106.2.1Spark的基本组件1106.2.2Spark的运行流程1116.3RDD1126.3.1RDD的概念与Spark计算模型1126.3.2RDD的各种操作1146.3.3RDD之间的依赖关系1186.3.4RDD计算过程的容错处理1216.4Scala语言介绍1226.4.1变量和类型1236.4.2控制结构1296.5Spark的安装部署1316.5.1Spark安装文件的下载1316.5.2Spark的安装过程1326.6基于Spark Shell的WordCount程序1336.6.1启动Spark Shell1336.6.2从本地及HDFS读取WordCount数据1346.6.3退出Spark Shell1366.7基于IDEA+Maven的WordCount程序1366.7.1IDEA安装Scala插件与SDK1376.7.2基于Scala的WordCount Spark应用程序1396.7.3基于Java的WordCount Spark应用程序1446.8Spark与HBase的整合1466.8.1pom.xml文件1476.8.2Scala Class文件1486.9Spark创建RDD的常用方式1506.9.1基于Scala集合创建RDD1506.9.2基于外部存储系统创建RDD1516.10Spark的共享变量1526.10.1广播变量1526.10.2累加器1536.11本章小结154第7章Spark流计算框架(Spark Streaming)1567.1流计算与流计算框架1567.2Spark Streaming的原理与概念1577.2.1Spark Streaming的设计原理1577.2.2Dstream与Dstream graph1577.2.3Spark Streaming的结构与执行流程1607.2.4Spark Streaming的容错处理1627.3Spark Streaming的WordCount案例1637.3.1以Socket为数据源1637.3.2以文本文件目录为数据源1667.4Spark Streaming整合Flume1677.4.1Flume介绍1677.4.2Flume的下载安装与配置1697.4.3整合Flume与Spark Streaming1727.5Spark Streaming整合Kafka1787.5.1Kafka介绍1787.5.2Kafka的下载安装1807.5.3Kafka的常用命令1817.5.4整合Kafka与Spark Streaming1817.6本章小结184第8章实时流计算框架Storm1858.1Storm的逻辑架构1858.2Storm的物理架构1868.2.1Storm集群的架构1868.2.2数据流的分组策略1878.3Storm的消息容错机制1888.4Strom的下载与安装1908.4.1Storm的安装配置1908.4.2Storm的启动1918.5Storm的WordCount程序1928.5.1Pom.xml文件1938.5.2Java Class文件1938.5.3提交集群运行198
|
內容試閱:
|
随着手机和摄像头等大量移动设备的使用、Web 2.0和社交网络带来的数据产生方式的转变,以及云计算、Hadoop、Spark等的出现,大数据越来越多地对人们的生活、企业的运营以及国家的治理和安全产生深远的影响。在这种情况下,研究大数据处理技术,培养大数据专业人才得到了国家和社会各界的广泛重视。当前,已经有越来越多的高校开设数据科学与大数据技术专业,也有越来越多的人学习大数据处理技术。 1本书的定位 对于初次接触大数据处理技术的读者来说,了解大数据处理框架的基本原理并能够搭建运行和开发环境,编写简单的应用代码,进而掌握大数据处理程序的基本结构与编写流程,往往是有难度的。 本书面向大数据处理技术的初学者,在介绍大数据处理框架的结构、设计原理以及执行流程等原理性知识的同时,还给出了大数据处理框架的完整安装过程以及WordCount等示例的完整程序代码,并对代码进行详细的注释说明。本书强调完整的安装过程和示例代码,可以省去读者查找安装过程、代码以及调试代码Bug所带来的麻烦。在介绍安装过程和示例代码的过程中尽可能地对大数据处理框架涉及的诸如Linux命令、文件系统、分布式日志收集工具Flume等相关知识点进行了简单的介绍,可节省读者了解相关背景知识所需要的时间。 2本书的主要内容 本书主要聚焦于大数据处理的两种主要方式,即批处理和流处理,介绍当前Apache软件基金会的三大软件开源项目Hadoop、Spark和Storm中的主要存储和计算组件。由于Hadoop与Spark的组件众多,从实际应用开发者的角度出发,针对Hadoop主要介绍HDFS、MapReduce和HBase三个组件,针对Spark主要介绍Spark的核心框架以及Spark应用于流处理的Spark Streaming组件。 HDFS、MapReduce和HBase是Hadoop的核心组件。HDFS是Hadoop的分布式文件系统,HBase是Hadoop的分布式数据库,两者主要解决的是大数据的可靠存储。MapReduce和Spark的核心框架主要应用于大数据的批处理。Spark作为MapReduce之后发布的批处理框架,弥补了MapReduce的一些局限性,具有了更强的计算表达能力以及更快的处理速度。但是,本书仍然对MapReduce进行介绍,这是因为Spark的设计借鉴了MapReduce,理解MapReduce有助于更好地理解Spark。 对于流处理框架,将介绍Spark Streaming和Storm。两者代表了实际中两种不同的流处理方式。Spark Streaming基于Spark核心框架的批处理功能将数据流分成不同的时间片段,然后针对每个时间片段的数据进行批处理。因此,Spark Streaming对数据流的处理过程并不是完全的实时处理,而Storm采取的是实时处理。 本书的所有安装和运行过程都是在单机的一个虚拟机中完成的,方便读者进行实践。所有的安装过程和程序代码都经过作者的亲自实践,但是编写这些安装过程和代码时可能出现错误,如果在学习过程中发现问题,请联系作者,邮箱为liuchun@henu.edu.cn。 刘春 河南省时空大数据产业技术研究院 大数据基本处理框架原理与实践
|
|