登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』Spark大数据处理:技术、应用与性能优化(根据最新技术版本,系统、全面、详细讲解Spark的各项功能使用、原理机制、技术细节、应用方法、性能优化,以及BDAS生态系统的相关技术)

書城自編碼: 2483619
分類:簡體書→大陸圖書→計算機/網絡數據庫
作者: 高彦杰 著
國際書號(ISBN): 9787111483861
出版社: 机械工业出版社
出版日期: 2014-11-01
版次: 1 印次: 1
頁數/字數: 268/
書度/開本: 16开 釘裝: 平装

售價:HK$ 153.4

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
无尽的海洋:美国海事探险与大众文化(1815—1860)
《 无尽的海洋:美国海事探险与大众文化(1815—1860) 》

售價:HK$ 99.7
治盗之道:清代盗律的古今之辨
《 治盗之道:清代盗律的古今之辨 》

售價:HK$ 122.1
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
《 甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册) 》

售價:HK$ 210.6
甲骨文丛书·中华早期帝国:秦汉史的重估
《 甲骨文丛书·中华早期帝国:秦汉史的重估 》

售價:HK$ 300.2
欲望与家庭小说
《 欲望与家庭小说 》

售價:HK$ 98.6
惜华年(全两册)
《 惜华年(全两册) 》

售價:HK$ 70.3
甲骨文丛书·古代中国的军事文化
《 甲骨文丛书·古代中国的军事文化 》

售價:HK$ 99.7
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
《 中国王朝内争实录(套装全4册):从未见过的王朝内争编著史 》

售價:HK$ 244.2

 

建議一齊購買:

+

HK$ 118.5
《Spark MLlib机器学习:算法、源码及实战详解》
+

HK$ 88.5
《Spark大数据分析实战》
+

HK$ 183.2
《Hadoop权威指南(第3版)》
+

HK$ 205.4
《Python基础教程(第2版·修订版)》
編輯推薦:
根据最新技术版本,系统、全面、详细讲解Spark的各项功能使用、原理机制、技术细节、应用方法、性能优化,以及BDAS生态系统的相关技术
內容簡介:
这是一本依据最新技术版本,系统、全面、详细讲解Spark的著作,作者结合自己在微软和IBM的实践经验和对Spark源代码的研究撰写而成。首先从技术层面讲解了Spark的体系结构、工作机制、安装与部署、开发环境搭建、计算模型、Benchmark、BDAS等内容;然后从应用角度讲解了一些简单的、有代表性的案例;最后对Spark的性能优化进行了探讨。
關於作者:
高彦杰 毕业于中国人民大学,就职于IBM,精通Hadoop相关技术,较早接触并使用Spark,对Spark应用开发、Spark系统的运维和测试比较熟悉,深度阅读了Spark的源代码,了解Spark的运行机制,擅长Spark的查询优化。
目錄
Contents?目 录
前 言
第1章 Spark简介 1
1.1 Spark是什么 1
1.2 Spark生态系统BDAS 4
1.3 Spark架构 6
1.4 Spark分布式架构与单机多核
架构的异同 9
1.5 Spark的企业级应用 10
1.5.1 Spark在Amazon中的应用 11
1.5.2 Spark在Yahoo!的应用 15
1.5.3 Spark在西班牙电信的应用 17
1.5.4 Spark在淘宝的应用 18
1.6 本章小结 20
第2章 Spark集群的安装与部署 21
2.1 Spark的安装与部署 21
2.1.1 在Linux集群上安装与配置Spark 21
2.1.2 在Windows上安装与配置Spark 30
2.2 Spark集群初试 33
2.3 本章小结 35
第3章 Spark计算模型 36
3.1 Spark程序模型 36
3.2 弹性分布式数据集 37
3.2.1 RDD简介 38
3.2.2 RDD与分布式共享内存的异同 38
3.2.3 Spark的数据存储 39
3.3 Spark算子分类及功能 41
3.3.1 Value型Transformation算子 42
3.3.2 Key-Value型Transformation算子 49
3.3.3 Actions算子 53
3.4 本章小结 59
第4章 Spark工作机制详解 60
4.1 Spark应用执行机制 60
4.1.1 Spark执行机制总览 60
4.1.2 Spark应用的概念 62
4.1.3 应用提交与执行方式 63
4.2 Spark调度与任务分配模块 65
4.2.1 Spark应用程序之间的调度 66
4.2.2 Spark应用程序内Job的调度 67
4.2.3 Stage和TaskSetManager调度方式 72
4.2.4 Task调度 74
4.3 Spark IO机制 77
4.3.1 序列化 77
4.3.2 压缩 78
4.3.3 Spark块管理 80
4.4 Spark通信模块 93
4.4.1 通信框架AKKA 94
4.4.2 Client、Master和Worker间的通信 95
4.5 容错机制 104
4.5.1 Lineage机制 104
4.5.2 Checkpoint机制 108
4.6 Shuffle机制 110
4.7 本章小结 119
第5章 Spark开发环境配置及流程 120
5.1 Spark应用开发环境配置 120
5.1.1 使用Intellij开发Spark程序 120
5.1.2 使用Eclipse开发Spark程序 125
5.1.3 使用SBT构建Spark程序 129
5.1.4 使用Spark Shell开发运行Spark程序 130
5.2 远程调试Spark程序 130
5.3 Spark编译 132
5.4 配置Spark源码阅读环境 135
5.5 本章小结 135
第6章 Spark编程实战 136
6.1 WordCount 136
6.2 Top K 138
6.3 中位数 140
6.4 倒排索引 141
6.5 CountOnce 143
6.6 倾斜连接 144
6.7 股票趋势预测 146
6.8 本章小结 153
第7章 Benchmark使用详解 154
7.1 Benchmark简介 154
7.1.1 Intel Hibench与Berkeley BigDataBench 155
7.1.2 Hadoop GridMix 157
7.1.3 Bigbench、BigDataBenchmark与TPC-DS 158
7.1.4 其他Benchmark 161
7.2 Benchmark的组成 162
7.2.1 数据集 162
7.2.2 工作负载 163
7.2.3 度量指标 167
7.3 Benchmark的使用 168
7.3.1 使用Hibench 168
7.3.2 使用TPC-DS 170
7.3.3 使用BigDataBench 172
7.4 本章小结 176
第8章 BDAS简介 177
8.1 SQL on Spark 177
8.1.1 使用Spark SQL的原因 178
8.1.2 Spark SQL架构分析 179
8.1.3 Shark简介 182
8.1.4 Hive on Spark 184
8.1.5 未来展望 185
8.2 Spark Streaming 185
8.2.1 Spark Streaming简介 186
8.2.2 Spark Streaming架构 188
8.2.3 Spark Streaming原理剖析 189
8.2.4 Spark Streaming调优 198
8.2.5 Spark Streaming 实例 198
8.3 GraphX 205
8.3.1 GraphX简介 205
8.3.2 GraphX的使用 206
8.3.3 GraphX架构 209
8.3.4 运行实例 211
8.4 MLlib 215
8.4.1 MLlib简介 217
8.4.2 MLlib的数据存储 219
8.4.3 数据转换为向量(向量空间模型VSM) 222
8.4.4 MLlib中的聚类和分类 223
8.4.5 算法应用实例 228
8.4.6 利用MLlib进行电影推荐 230
8.5 本章小结 237
第9章 Spark性能调优 238
9.1 配置参数 238
9.2 调优技巧 239
9.2.1 调度与分区优化 240
9.2.2 内存存储优化 243
9.2.3 网络传输优化 249
9.2.4 序列化与压缩 251
9.2.5 其他优化方法 253
9.3 本章小结 255
內容試閱
第1章
Spark 简 介
本章主要介绍Spark大数据计算框架、架构、计算模型和数据管理策略及Spark在工业界的应用。围绕Spark的BDAS 项目及其子项目进行了简要介绍。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,本章只进行简要介绍,后续章节再详细阐述。
1.1 Spark是什么
Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark 部署在大量廉价硬件之上,形成集群。
Spark于2009年诞生于加州大学伯克利分校AMPLab。目前,已经成为Apache软件基金会旗下的顶级开源项目。下面是Spark的发展历程。
1.Spark的历史与发展
2009年:Spark诞生于AMPLab。
2010年:开源。
2013年6月:Apache孵化器项目。
2014年2月:Apache顶级项目。
2014年2月:大数据公司Cloudera宣称加大Spark框架的投入来取代MapReduce。
2014年4月:大数据公司MapR投入Spark阵营,Apache Mahout放弃MapReduce,将使用Spark作为计算引擎。
2014年5月:Pivotal Hadoop集成Spark全栈。
2014年5月30日:Spark 1.0.0发布。
2014年6月:Spark 2014 峰会在旧金山召开。
2014年7月:Hive on Spark项目启动。
目前AMPLab和Databricks负责整个项目的开发维护,很多公司,如Yahoo!、Intel等参与到Spark的开发中,同时很多开源爱好者积极参与Spark的更新与维护。
AMPLab开发以Spark为核心的BDAS时提出的目标是:one stack to rule them all,也就是说在一套软件栈内完成各种大数据分析任务。相对于MapReduce上的批量计算、迭代型计算以及基于Hive的SQL查询,Spark可以带来上百倍的性能提升。目前Spark的生态系统日趋完善,Spark SQL的发布、Hive on Spark项目的启动以及大量大数据公司对Spark全栈的支持,让Spark的数据分析范式更加丰富。
2.Spark之于Hadoop
更准确地说,Spark是一个计算框架,而Hadoop中包含计算框架MapReduce和分布式文件系统HDFS,Hadoop更广泛地说还包括在其生态系统上的其他系统,如Hbase、
Hive等。
Spark是MapReduce的替代方案,而且兼容HDFS、Hive等分布式存储层,可融入Hadoop的生态系统,以弥补缺失MapReduce的不足。
Spark相比Hadoop MapReduce的优势如下。
(1)中间结果输出
基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果。
Spark将执行模型抽象为通用的有向无环图执行计划(DAG),这可以将多Stage的任务串联或者并行执行,而无须将Stage中间结果输出到HDFS中。类似的引擎包括Dryad、Tez。
(2)数据格式和内存布局
由于MapReduce Schema on Read处理方式会引起较大的处理开销。Spark抽象出分布式内存存储结构弹性分布式数据集RDD,进行数据的存储。RDD能支持粗粒度写操作,但对于读取操作,RDD可以精确到每条记录,这使得RDD可以用来作为分布式索引。Spark的特性是能够控制数据在不同节点上的分区,用户可以自定义分区策略,如Hash分区等。Shark和Spark SQL在Spark的基础之上实现了列存储和列存储压缩。
(3)执行策略
MapReduce在数据Shuffle之前花费了大量的时间来排序,Spark则可减轻上述问题带来的开销。因为Spark任务在Shuffle中不是所有情景都需要排序,所以支持基于Hash的分布式聚合,调度中采用更为通用的任务执行计划图(DAG),每一轮次的输出结果在内存缓存。
(4)任务调度的开销
传统的MapReduce系统,如Hadoop,是为了运行长达数小时的批量作业而设计的,在某些极端情况下,提交一个任务的延迟非常高。
Spark采用了事件驱动的类库AKKA来启动任务,通过线程池复用线程来避免进程或线程启动和切换开销。
3.Spark能带来什么
Spark的一站式解决方案有很多的优势,具体如下。
(1)打造全栈多计算范式的高效数据流水线
Spark支持复杂查询。在简单的“map”及“reduce”操作之外,Spark还支持SQL查询、流式计算、机器学习和图算法。同时,用户可以在同一个工作流中无缝搭配这些计算范式。
(2)轻量级快速处理
Spark 1.0核心代码只有4万行。这是由于Scala语言的简洁和丰富的表达力,以及Spark充分利用和集成Hadoop等其他第三方组件,同时着眼于大数据处理,数据处理速度是至关重要的,Spark通过将中间结果缓存在内存减少磁盘IO来达到性能的提升。
(3)易于使用,Spark支持多语言
Spark支持通过Scala、Java及Python编写程序,这允许开发者在自己熟悉的语言环境下进行工作。它自带了80多个算子,同时允许在Shell中进行交互式计算。用户可以利用Spark像书写单机程序一样书写分布式程序,轻松利用Spark搭建大数据内存计算平台并充分利用内存计算,实现海量数据的实时处理。
(4)与HDFS等存储层兼容
Spark可以独立运行,除了可以运行在当下的YARN等集群管理系统之外,它还可以读取已有的任何Hadoop数据。这是个非常大的优势,它可以运行在任何Hadoop数据源上,如Hive、HBase、HDFS等。这个特性让用户可以轻易迁移已有的持久化层数据。
(5)社区活跃度高
Spark起源于2009年,当下已有超过50个机构、260个工程师贡献过代码。开源系统的发展不应只看一时之快,更重要的是支持一个活跃的社区和强大的生态系统。
同时我们也应该看到Spark并不是完美的,RDD模型适合的是粗粒度的全局数据并行计算。不适合细粒度的、需要异步更新的计算。对于一些计算需求,如果要针对特定工作负载达到最优性能,还是需要使用一些其他的大数据系统。例如,图计算领域的GraphLab在特定计算负载性能上优于GraphX,流计算中的Storm在实时性要求很高的场合要比Spark Streaming更胜一筹。
随着Spark发展势头日趋迅猛,它已被广泛应用于Yahoo!、Twitter、阿里巴巴、百度、网易、英特尔等各大公司的生产环境中。
1.2 Spark生态系统BDAS
目前,Spark已经发展成为包含众多子项目的大数据计算平台。伯克利将Spark的整个生态系统称为伯克利数据分析栈(BDAS)。其核心框架是Spark,同时BDAS涵盖支持结构化数据SQL查询与分析的查询引擎Spark SQL和Shark,提供机器学习功能的系统MLbase及底层的分布式机器学习库MLlib、并行图计算框架GraphX、流计算框架Spark Streaming、采样近似计算查询引擎BlinkDB、内存分布式文件系统Tachyon、资源管理框架Mesos等子项目。这些子项目在Spark上层提供了更高层、更丰富的计算范式。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.