Spark:原理、机制及应用

Spark:原理、机制及应用 pdf epub mobi txt 电子书 下载 2025

符积高,徐闻春 著,刘驰 编
图书标签:
  • Spark
  • 大数据
  • 分布式计算
  • 数据处理
  • 机器学习
  • 流处理
  • 数据分析
  • Scala
  • Python
  • Java
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111529286
版次:1
商品编码:11885775
品牌:机工出版
包装:平装
丛书名: 大数据科学丛书
开本:16开
出版时间:2016-03-01
用纸:胶版纸
页数:264
正文语种:中文

具体描述

编辑推荐

适读人群 :大数据应用开发人员、运维工程师和开源软件爱好者
  Spark是一个高效的分布式计算系统,相比Hadoop,它在性能上比Hadoop要高100倍。Spark提供比Hadoop更上层的API,同样的算法在Spark中实现往往只有Hadoop的1/10或者1/100的长度。
  Spark较大的集群来自腾讯——8000个节点,而单个较大的Job分别是阿里巴巴和Databricks——1PB,震撼人心!同时,截止2015年6月,Spark的Contributor比2014年涨了3倍,达到730人;总代码行数也比2014年涨了2倍多,达到40万行。
  本书是国内(包括Github社区)较新的基于Spark1.4版本的技术书籍,涵盖Spark技术的环境搭建、RDD实操应用、内部机制、调优和企业应用等内容,具体如下。
  1)基于IntelliJIDEA的运行、开发和编译环境的详细搭建过程。
  2)详细介绍Spark技术基础概念和应用实践。
  3)基于Spark1.4官方文档对Spark四大应用框架进行解读。
  4)基于源码深入剖析Spark的资源调度、任务调度和shuffle过程。
  5)深入解读近两年Spark峰会和国内企业分享的典型应用案例。
  本书的编写系统完整,力争以通俗易懂的语言全方位精细解读Spark技术,本书主要针对大数据技术初学者,包括但不限于大学生、研究生和工程师。此外,Spark应用开发人员、运维工程师和开源软件爱好者也可以将本书作为参考用书。
  本书共分为概念、开发、机制和应用四篇,概念篇介绍Spark的背景概念和环境配置方法,开发篇介绍了Spark核心开发、四大应用框架和调优策略,机制篇则对Spark的RDD、调度和shuffle等机制进行解读,应用篇针对Spark在业界的典型应用进行阐述。

内容简介

  本书是一本以Spark1.4为基础,详细介绍了Spark技术的概况、内部机制和企业界的应用情况。作者结合国内外众多资料和项目经验,力求深入浅出地讲解Spark技术的生态应用和发展状况,此外还选取了SparkSummit中的典型案例进行解析,为读者全面展现Spark技术在企业界的应用情况。本书适合Spark技术初学者、Spark技术爱好者、Spark运维工程师和开源软件爱好者,也可以作为相关培训学校和大专院校相关专业的教学用书。

作者简介

  刘驰,博士,现任北京理工大学软件学院教授,软件服务工程系系主任。入选“北京理工大学杰出中青年支持与发展计划”。主持了国家自然科学基金、工信部电子商务集成试点工程等多项国家省部级重点项目。分别于清华大学和英国帝国理工学院获得学士和博士学位,后历任德国电信研究院(柏林)博士后研究员、美国IBMTJWatson研究中心研究员和IBM中国研究院研究主管。研究方向为:物联网、云计算和大数据技术。

目录

前言
第一篇 概 念 篇
第1章 Spark概述2
1.1 Spark初见2
1.1.1 Spark的发展史及近况2
1.1.2 Spark的特点5
1.1.3 Spark的作用6
1.1.4 Spark的体系结构6
1.1.5 Spark的发展趋势6
1.2 Spark框架7
1.2.1 批处理框架7
1.2.2 流处理框架8
1.3 Spark的生态系统8
1.4 Spark的数据存储11
1.5 本章小结11
第2章 Spark环境配置12
2.1 Spark运行环境配置12
2.1.1 先决条件12
2.1.2 下载与运行 Spark13
2.1.3 使用交互式 Shell14
2.1.4 搭建Spark Standalone集群16
2.2 Spark开发环境配置18
2.2.1 Spark独立应用程序18
2.2.2 构建IDE开发环境24
2.3 Spark编译环境配置29
2.3.1 使用Maven编译项目源码30
2.3.2 使用IDEA搭建源码编译与
阅读环境31
2.4 本章小结35
第二篇 开 发 篇
第3章 Spark核心开发37
3.1 Spark编程模型概述37
3.2 SparkContext38
3.2.1 SparkContext的作用38
3.2.2 SparkContext的创建38
3.2.3 使用Shell41
3.2.4 应用实践41
3.3 RDD简介42
3.3.1 RDD创建42
3.3.2 RDD转换操作43
3.3.3 RDD动作操作44
3.3.4 RDD惰性计算44
3.3.5 RDD持久化44
3.3.6 RDD检查点45
3.4 共享变量45
3.4.1 广播变量45
3.4.2 累加器46
3.5 Spark核心开发实践46
3.5.1 单值型Trasnformation算子46
3.5.2 键值对型Transformation算子58
3.5.3 Action算子64
3.6 本章小结72
第4章 Spark四大应用技术框架73
4.1 Spark SQL73
4.1.1 Spark SQL入门73
4.1.2 数据源75
4.1.3 性能调优81
4.1.4 分布式SQL引擎82
4.1.5 Shark迁移至Spark SQL指南82
4.1.6 Hive的兼容性83
4.1.7 Spark SQL数据类型85
4.2 Spark Streaming86
4.2.1 Spark Streaming简介87
4.2.2 入门实例87
4.2.3 基本概念89
4.3 Spark GraphX97
4.3.1 Spark GraphX简介97
4.3.2 属性图98
4.3.3 图操作100
4.3.4 Pregel API108
4.3.5 图构造器110
4.3.6 顶点与边相关RDD111
4.3.7 最优化表示113
4.3.8 图算法114
4.3.9 Example116
4.4 Spark MLlib116
4.4.1 Spark MLlib简介116
4.4.2 数据类型117
4.4.3 基本统计分析121
4.4.4 分类与回归123
4.4.5 协同过滤136
4.4.6 聚类138
4.4.7 降维139
4.4.8 特征提取与转换141
4.4.9 频繁模式挖掘146
4.4.10 最优化算法147
4.4.11 导出PMML模式149
4.5 SparkR150
4.5.1 SparkR DataFrame150
4.5.2 DataFrame的相关操作152
4.5.3 从SparkR运行SQL查询153
第5章 Spark系统配置与调优154
5.1 Spark运行监控154
5.2 Spark配置参数158
5.2.1 应用属性159
5.2.2 运行环境属性159
5.2.3 Shuffle操作

前言/序言

  前言
  随着互联网与移动终端行业的迅猛发展,企业和个体对数据相关服务需求不断提升,以ApacheHadoop为代表的分布式并行计算技术进一步发展,数据由量变而引发的质变正在全球范围内掀起深刻的技术与商业变革。在产业界,以数据驱动的发展策略也已逐渐被提升到前所未有的高度。在金融、电信、房地产和众多传统领域,沉积的数据价值开始被重视,这些公司逐渐在大数据领域加强资金和研发投入。在学术界,国内外越来越多的高校和研究机构在云计算和大数据领域投入大量的人力研究大数据及其相关技术。不仅如此,我国政府提出的“中国制造2025”战略规划和“互联网+”的概念也与大数据技术有着密不可分的联系,这更预示了大数据技术未来广阔的发展前景。
  大数据的处理主要依靠分布式并行处理技术。本书主要介绍大数据分析平台的后起之秀ApacheSpark。相对于人们近年来熟知的ApacheHadoop,ApacheSpark具有基于内存计算、适合迭代计算并兼容多应用场景的特点,同时它还能兼容Hadoop生态系统中的组件,能吸收Hadoop的优点。经过短短6年的飞跃式发展,Spark已经成为业内颇具发展潜力的大数据分析平台之一。近两年召开的SparkSummit峰会,年均参会人数近2000人,业内对Spark的研究热情进一步提升,Spark的应用领域也在不断扩展,包括医疗、金融、O2O电商、政府、教育、电信、智慧城市和安全等,且在诸多领域都已经有Spark的成功应用案例。
  编者基于国内外的研究和企业项目实践的经验,基于截稿时最新的Spark1.4版来介绍Spark技术的应用实践和最新动向,让读者更容易地迈上Spark学习之路。
  本书是国内(包括Github社区)较新的基于Spark1.4版本的技术书籍,涵盖Spark技术的环境搭建、RDD实操应用、内部机制、调优和企业应用等内容,具体如下。
  1)基于IntelliJIDEA的运行、开发和编译环境的详细搭建过程。
  2)详细介绍Spark技术基础概念和应用实践。
  3)基于Spark1.4官方文档对Spark四大应用框架进行解读。
  4)基于最新源码深入剖析Spark的资源调度、任务调度和shuffle过程。
  5)深入解读近两年Spark峰会和国内企业分享的典型应用案例。
  本书的编写系统完整,力争以通俗易懂的语言全方位精细解读Spark技术,本书主要针对大数据技术初学者,包括但不限于大学生、研究生和工程师。此外,Spark应用开发人员、运维工程师和开源软件爱好者也可以将本书作为参考用书。
  本书共分为概念、开发、机制和应用四篇,概念篇介绍Spark的背景概念和环境配置方法,开发篇介绍了Spark核心开发、四大应用框架和调优策略,机制篇则对Spark的RDD、调度和shuffle等机制进行解读,应用篇针对Spark在业界的典型应用进行阐述。
  对于初学者,建议先学习Scala语言的基本语法,并从第1章起顺序阅读,搭建好开发环境,边学边进行代码实践。
  对于已经有一定基础的读者可以跳过概念篇直接从第3章开始阅读,学习完第二篇开发篇,即Spark的应用操作后可以通过接着学习第三篇机制篇来加深理解。第四篇比较独立,在学习完概念篇之后就可以进行学习。
  本书由刘驰主编,参与编写人员有符积高、徐闻春。在本书的编写过程中,始终本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。


《海上的灯塔:穿越迷雾的航行指南》 引言: 茫茫大海,时而风平浪静,时而波涛汹涌。作为一名船长,我们肩负着载运货物、保障人员安全的重任。然而,在浩瀚的海洋中,前行的道路并非总是清晰可见。迷雾、暗礁、风暴,这些潜在的危险时刻考验着我们的智慧和判断。此时,一本可靠的航行指南,一座指引方向的灯塔,将是我们最宝贵的财富。 《海上的灯塔:穿越迷雾的航行指南》并非一本告诉你如何驾驶某一款特定船只的说明手册,它更像是一位经验丰富的领航员,一位孜孜不倦的智者,将带领你深入理解海洋的语言,掌握航行的艺术,从而在任何风浪中都能找到正确的航向。这本书不是为了替代你手中的舵盘,而是为了让你更加自信、精准地握住它。 第一章:海图的奥秘——理解你所处的环境 在踏上未知的航程之前,首先要做的,是认识你即将征服的这片海洋。本章将带你领略海图的魅力,它远不止是简单的线条和符号。我们将深入探讨: 地理坐标的精确艺术: 纬度与经度,这两个看似简单的数字,却构建了整个地球的坐标网络。理解它们如何运作,如何精确地定位船只,是所有导航的基础。我们将学习不同投影方式的海图特点,以及它们在不同海域的适用性。 海洋的语言:深度与水文: 海图上那些深浅不一的等深线,描绘着海底的真实地形。我们将学习如何解读这些信息,避开浅滩暗礁,选择安全的水道。同时,本书也将探讨潮汐、洋流等重要的水文因素,了解它们如何影响航行速度和路线选择。 航标与灯塔的智慧: 它们是海洋中的眼睛,是夜空中最闪耀的星辰。我们将深入理解不同类型航标的含义,识别它们的颜色、形状、闪光频率,以及它们在引导船只安全进出港口、绕行危险区域时的关键作用。灯塔的分布和特性,也将在本书中得到细致的阐述,帮助你在最黑暗的夜晚也能找到归途。 海图的动态更新: 海洋是不断变化的,海图也需要与时俱进。我们将探讨电子海图的优势与局限,以及如何利用最新的航海资料更新纸质海图,确保信息的准确性。 第二章:风的低语,浪的节奏——掌握航行的自然法则 海洋的力量是无穷的,也是多变的。懂得顺应自然,才能更好地驾驭它。本章将聚焦于理解和利用海洋中的自然力量: 风的七种性格: 从轻柔的微风到狂暴的飓风,风是航行最直接的动力来源,也是最不可忽视的挑战。我们将学习识别不同风向和风速的迹象,理解风如何影响船帆的受力,以及在不同风力条件下,如何调整航行姿态以获得最佳效率和安全性。 浪的千姿百态: 浪并非只是简单的起伏。长浪、短浪、涌浪,它们各自有着不同的形成原因和运动规律。我们将学习如何判断浪的方向和强度,以及如何在巨浪中保持船体的稳定,减少颠簸和危险。 流的暗涌: 洋流如同海洋中的河流,它们默默地改变着海水的流向和速度。理解主要洋流的分布和季节性变化,能够帮助我们规划更经济、更快速的航线。我们还将学习如何利用或规避局部水流的影响。 气候的预警: 天气预报并非是遥不可及的数字。我们将学习如何通过观察云层、气压变化等迹象,初步判断天气的走向,并结合气象图,提前规避恶劣天气。 第三章:船的灵魂——理解你的伙伴 每一艘船都有着独特的“灵魂”,理解它的特性,才能将它的性能发挥到极致。本章将深入剖析船只在航行中的各个方面: 船体设计的智慧: 从船头的破浪线到船尾的推进器,每一个设计都凝聚着科学的智慧。我们将探讨不同船型(如帆船、机动船)的结构特点,以及它们在不同海况下的受力表现和操控性。 动力与推进系统: 无论是风力还是引擎,动力系统是船只前进的血液。我们将了解不同推进方式的工作原理,以及如何在实际航行中进行有效的动力管理,确保能源的合理利用。 操控的艺术:舵与帆的对话: 舵是船只的灵魂之翼,帆是与风共舞的使者。我们将详细讲解舵叶的原理,如何通过精准的操作控制船只的转向。对于帆船,我们将深入研究各种帆的类型、受力原理,以及如何根据风向风速巧妙地调整帆的角度,实现高效航行。 稳定与平衡的科学: 船只的稳定关乎生命安全。我们将探讨压载水、船体设计如何影响船只的稳定性,以及在风浪中如何通过调整重心来维持平衡。 第四章:航程的规划与决策——智慧的指挥中心 一次成功的航行,离不开周密的计划和临场的智慧。本章将聚焦于航程规划与决策的全过程: 路线的精算: 从起点到终点,每一条路线都蕴含着最优解的可能。我们将学习如何结合海图、潮汐、风向等信息,规划出最安全、最高效的航线。电子导航设备的应用,将是本章的重要组成部分。 风险评估与应对: 航行中的风险无处不在,识别并评估它们是决策的关键。我们将学习如何对潜在的危险进行分类(如天气、机械故障、航道拥堵等),并制定相应的应急预案。 燃油与能源管理: 合理的能源管理,是确保航程顺利完成的重要保障。我们将探讨如何在计划阶段和航行过程中,对燃油消耗进行精确估算和有效控制。 导航设备的协同应用: 现代航海技术日新月异,GPS、雷达、AIS等设备提供了强大的导航支持。本书将详细介绍这些设备的原理、操作方法,以及如何将它们的信息整合起来,做出最明智的判断。 通信与联络: 在茫茫大海中,保持与外界的有效沟通至关重要。我们将了解不同通信方式(如VHF、卫星电话)的应用场景,以及在紧急情况下如何发出求救信号。 第五章:穿越迷雾——应对挑战的实战策略 理论的武装最终要落实在实践中。本章将为你提供应对各种挑战的实用技巧和经验: 浓雾中的“听风辨位”: 浓雾不仅遮蔽了视线,也带来了巨大的心理压力。我们将学习如何利用听觉、声纳等设备,以及对船只自身声音的敏感度,在能见度极低的条件下辨别方向和障碍物。 巨浪中的“与浪共舞”: 面对铺天盖地的巨浪,恐惧是最大的敌人。本章将提供实用的技巧,教你如何在巨浪中保持船体的稳定,如何判断浪的缝隙,以及如何利用浪的动力巧妙地通过。 恶劣天气中的“守护与坚持”: 当风暴来临时,稳固船体、减少受力是关键。我们将探讨如何采取措施加固船只,如何调整航向以减小风浪的冲击,以及如何在极端天气下保持冷静和耐心。 机械故障的“临危不乱”: 即使是最坚固的船只,也可能遭遇机械故障。本书将提供一些常见的故障排除方法,以及在无法修复时,如何采取临时措施确保安全,并及时发出求救信号。 紧急情况下的“生命线”: 在最危急的时刻,知道如何使用救生设备、如何发出求救信号、如何与其他船只协作,都可能成为挽救生命的关键。 结语: 《海上的灯塔:穿越迷雾的航行指南》是一本献给所有热爱海洋、勇于探索的人们的指南。它不提供速成的捷径,却为你铺就了一条通往精通的道路。通过对海洋环境的深刻理解,对自然法则的灵活运用,对船只性能的充分掌握,以及对航程规划与决策的智慧运用,你将不再畏惧大海的未知。愿这本书成为你每一次航行中的坚实伙伴,引领你在碧海蓝天中,自信而从容地驶向远方。

用户评价

评分

初见Spark,如沐春风 一直以来,我都在寻找一本能够深入浅出地讲解大数据处理框架的书籍,尤其是对于像Spark这样性能卓越、应用广泛的工具。在一次偶然的机会下,我接触到了《Spark:原理、机制及应用》,尽管这本书的封面朴实无华,但我翻开的瞬间,就被其清晰的脉络和精炼的语言所吸引。作者并没有一开始就抛出大量晦涩的术语,而是从Spark诞生的背景、解决的核心问题出发,娓娓道来。我尤其欣赏的是,书中对Spark的RDD(弹性分布式数据集)这一核心概念的介绍,没有生硬的定义,而是通过一系列生动的比喻和生活化的场景,让我迅速理解了RDD的不可变性、分布式存储以及惰性计算等特性。这种“润物细无声”的讲解方式,让我这种对大数据尚处于入门阶段的读者,也能很快建立起对Spark的整体认知。随后,书中对Spark的DAG(有向无环图)调度器、内存计算以及容错机制的阐述,也同样循序渐进,逻辑清晰。我能够感受到作者在组织内容时,是真正站在读者的角度思考的,力求让每一个概念都易于理解,每一个原理都触手可及。这本书不仅仅是一本技术书籍,更像是一位经验丰富的导师,引领我一步步走进Spark的殿堂。

评分

深入探索Spark的内在世界 随着我对Spark的了解不断加深,我开始渴望了解其更底层的运作原理。此时,《Spark:原理、机制及应用》中的“机制”部分便成为了我的首选。我花了大量的时间去研读书中关于Spark的Shuffle过程的讲解,作者用非常细致的图示和文字,将数据在分布式节点之间如何进行重组、聚合以及落盘的过程展现得淋漓尽致。我之前在实际工作中遇到过Shuffle性能瓶颈的问题,但始终找不到根源,而这本书中的分析,让我茅塞顿开。作者不仅解释了Shuffle的各个阶段,还深入剖析了不同Shuffle管理器(如Hash Shuffle、Sort Shuffle)的优劣势,以及它们在不同场景下的适用性。此外,书中对Spark的内存管理机制的阐述也令我印象深刻。了解Spark如何管理内存,如何进行数据存储和缓存,对于优化Spark应用程序的性能至关重要。作者详细介绍了Spark的Unified Memory Manager,并解释了Executor内存、Storage内存、Shuffle内存之间的分配和回收策略,这些细节的披露,让我对Spark的资源利用有了更深刻的认识。阅读这部分内容,我感觉自己仿佛拥有了一双透视Spark内部运作的眼睛,能够更精准地诊断和解决性能问题。

评分

Spark的实战演练,触类旁通 理论知识的掌握固然重要,但更关键的是如何在实际应用中落地。《Spark:原理、机制及应用》在这方面做得相当出色,其“应用”篇的内容,几乎涵盖了Spark在大数据领域最常见的应用场景。从批处理的ETL(提取、转换、加载)作业,到实时流处理的实时监控和分析,再到交互式查询的SQL on Spark,书中都提供了详实的案例分析和代码示例。我特别喜欢书中关于Spark Streaming(尽管现在已经过渡到Structured Streaming)的讲解,它不仅演示了如何处理实时数据流,还讲解了窗口操作、状态管理等关键概念,让我能够理解如何构建实时数据管道。此外,书中对MLlib(Spark的机器学习库)的应用介绍,也极大地激发了我对Spark在人工智能领域的兴趣。通过书中提供的机器学习算法示例,我能够快速了解如何利用Spark进行特征工程、模型训练和评估。这些案例并非简单地罗列代码,而是结合了实际业务场景,让读者能够理解这些技术是如何解决实际问题的。这本书不仅仅是教授工具的使用,更是在传授解决问题的思路和方法。

评分

一点小小的遗憾与进阶之路 坦白说,读完《Spark:原理、机制及应用》之后,我受益匪浅,但同时也产生了一些更加深入的思考。比如,书中在介绍Shuffle时,虽然详细解释了不同Shuffle管理器的原理,但对于一些更底层的网络通信协议和序列化机制,似乎点到为止,我希望能有更深入的探讨。另外,对于Spark在Kubernetes上的部署和优化,虽然有提及,但我觉得可以进一步展开,例如更详细的配置参数解释和常见的部署挑战及解决方案。当然,我也理解一本书的篇幅有限,不可能涵盖所有细节。本书的定位非常清晰,就是为读者打下坚实的基础,并引导读者掌握核心的应用。而我所期待的更深入的细节,或许需要通过查阅Spark的官方文档、源代码,或者其他更专业的资料来补充。总的来说,这本书为我打开了一扇通往Spark世界的大门,它不仅提供了坚实的理论基础和丰富的实践案例,更重要的是,它激发了我对Spark技术刨根问底的兴趣。我相信,这本书将是我在大数据学习道路上的一块重要的里程碑。

评分

Spark的未来展望与技术趋势 在读完Spark的核心原理和应用之后,我开始思考这项技术未来的发展方向。《Spark:原理、机制及应用》的结尾部分,并没有停留在当前的版本和功能,而是对Spark未来的发展趋势进行了前瞻性的探讨。书中对Spark 3.0及以后版本的新特性,如对AI和GPU的支持,以及在云原生环境下的优化,都进行了一定的预判和介绍。这让我对Spark的演进方向有了一个初步的认识,并为我后续的学习和技术选型提供了参考。同时,作者也触及了Spark与其他大数据技术(如Hadoop、Flink)的比较,以及Spark在不同生态系统(如Kubernetes、YEM)中的集成。这种宏观的视角,让我能够将Spark置于整个大数据技术栈的背景下进行理解,从而更好地把握技术发展的大局。对我而言,了解技术的未来走向,远比仅仅掌握现有技术更具价值,它能帮助我保持技术的敏感度,并为未来的职业发展做好准备。

评分

最近刚上手一个大数据项目,想要买本书深入学习下。

评分

很好很强大,支持正版书籍

评分

书还可以,内容很充实啊

评分

这本书真的很适合我,由浅入深

评分

书写的很详细,有很多源码分析的内容

评分

没怎么看,有机器学习算法,但书比较薄,内容应该比较简单!

评分

京东活动还是很给力的,以后要多关注

评分

一直想找一本数据挖掘方面的算法设计参考书,这本书还行,物有所值。

评分

买的专业书,挺好挺好。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有