《Spark Cookbook 中文版》一1.1 简介

1.1 简介

Apache Spark是一个用于处理大数据工作流的多功能集群计算系统。Spark在速度、易用性以及分析能力上都强于它的前辈们(如MapReduce)。

Apache Spark最初在2009年,由加州大学伯克利分校的AMPLab实验室研发,在2010年按照BSD协议实现开源,并在2013年转为Apache 2.0协议。到2013年下半年,Spark的创始人建立了Databricks,专注于Spark的研发和未来的公开发行。

谈到速度,Spark大数据工作流的处理可以达到亚秒级别的延迟。为了达到如此低的延迟,Spark充分利用了内存。在MapReduce中,内存仅仅用于实际计算,而Spark不仅使用内存进行计算,而且还用于存储对象。

Spark也提供一个连接各种大数据存储源的统一运行时接口,例如HDFS、Cassandra、Hbase和S3。它同时也提供大量的用于不同的大数据计算任务的顶层库,例如机器学习、SQL处理、图像处理以及实时数据流。这些库加快了开发速度,可以任意组合。

虽然Spark是用Scala所写,本书也只关注Scala部分的教程,但是Spark也支持Java和Python语言。

Spark是一个开源社区产品,每个人都是用Apache纯开源分布部署,不像Hadoop,有大量开发商改进的分布部署。

图1-1展示了Spark的生态圈。

Spark运行时运行在一系列集群管理器的基础之上,包括YARN(Hadoop的计算框架)、Mesos以及Spark自己的被称为独立模式的集群管理器。Tachyon是一个内存层的分布式文件系统,使得集群架构之间的文件共享速度能够可靠到达内存级别。(译注:Tachyon现已更名为alluxio,官网地址:www.alluxio.org。本书的其他部分仍会按照原文写作Tachyon,后续不再赘述。)简而言之,它是内存上的一个堆外存储层,用于在任务和用户之间分享数据。Mesos 是一个涉及数据中心处理系统的集群管理器。YARN是一个有着健壮的资源管理特性的Hadoop计算框架,Spark可以与它无缝连接使用。

时间: 2024-07-31 15:24:08

《Spark Cookbook 中文版》一1.1 简介的相关文章

《分布式系统:概念与设计》一第3节 练习

前 言 在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了.本书的介绍性章节提到互联网和Web对诸多(如金融.商业.艺术.娱乐等)应用领域的影响以及对信息社会的普遍影响.它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求.从分布式系统的角度出发,这些开发在应用的范围.多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求.重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性).移动和无处不在计算元素

《分布式系统:概念与设计》一1.2 分布式系统的例子

1.2 分布式系统的例子 本节给出能激发读者学习积极性的当代分布式系统的例子,用于说明分布式系统所扮演的无处不在的角色和相关应用的多样性. 如1.1节所提及的那样,网络无处不在,成为我们现在认为理所当然的日常服务(互联网和相关的万维网.Web搜索.在线游戏.电子邮件.社会网络.电子商务,等等)的基础.为了进一步说明这一点,可参考图1-1,它描述了一系列所选的关键商务或社会应用部门,强调了相关的分布式系统技术已公认或新出现的应用. 正如所看到的,分布式系统包含近些年许多最重要的技术发展,因此理解底

《PADS 9.5电路设计与仿真从入门到精通》——第一章 绪论 1.1 PCB的基本概念及设计工具

第一章 绪论 PADS 9.5电路设计与仿真从入门到精通 本章主要介绍PADS的基本概念及特点,包括PCB设计的一般原则.基本步骤.标准规范等.着重介绍了美国Mentor Graphics公司的PCB设计软件:PADS 9.5,包括了PADS 9.5的发展过程以及它的新特点.PADS 9.5是一款非常优秀的PCB设计软件,它具有完整强大的PCB绘制工具,界面和操作十分简洁,希望用户好好学习本书,以便更加方便地使用PADS 9.5软件. 1.1 PCB的基本概念及设计工具 PADS 9.5电路设计

《分布式系统:概念与设计》一3.1 简介

3.1 简介 要构建分布式系统所使用的网络,首先需要众多的传输介质,包括电线.电缆.光纤以及无线频道:然后需要一些硬件设备,包括路由器.交换机.网桥.集线器.转发器和网络接口:最后还需要软件组件,包括协议栈.通信处理器和驱动器.上述因素都会影响分布式系统和应用程序所能达到的最终功能和性能.我们把为分布式系统提供通信设施的软硬件组件称为通信子系统.计算机和其他使用网络进行通信的设备称为主机.结点则指的是在网络上的所有计算机或者交换设备.互联网是一个通信子系统,它为所有接入的主机提供通信服务.互联网

《分布式系统:概念与设计》一1.1 简介

1.1 简介 计算机网络无处不在.互联网也是其中之一,因为它是由许多种网络组成的.移动电话网.协作网.企业网.校园网.家庭网.车内网,所有这些,既可单独使用,又可相互结合,它们具有相同的本质特征,这些特征使得它们可以放在分布式系统的主题下来研究.本书旨在解释影响系统设计者和实现者的连网的计算机的特征,给出已有的可帮助完成设计和实现分布式系统任务的主要概念和技术.我们把分布式系统定义成一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统.这个简单的定义覆盖了所有可

《分布式系统:概念与设计》一2.1 简介

2.1 简介 打算在实际环境中使用的系统应该在各种可能的环境下,面对各种困难和潜在的威胁(后面的"分布式系统的困难和威胁"部分将给出一些例子)时,保证其功能的正确性.第1章的讨论和例子表明不同类型的分布式系统共享重要的基本特性,也出现了公共的设计问题.本章以描述性模型的形式给出分布式系统的公共特性和设计问题.每类模型试图对分布式系统设计的一个相关方面给出抽象.简化但一致的描述.物理模型是描述系统的一个最显式的方法,它从计算机(和其他设备,例如移动电话)及其互联的网络方面考虑系统的硬件组

《分布式系统:概念与设计》一练习

练习 1.1 列出能被共享的五种类型的硬件资源和五种类型的数据或软件资源,并举出它们在实际的分布式系统中发生共享的例子. 1.2 在不参考外部时间源的情况下,通过本地网络连接的两台计算机的时钟如何同步?什么因素限制了你描述的过程的准确性?由互联网连接的大量的计算机的时钟是如何同步的?讨论该过程的准确性. 1.3 考虑1.2.2节讨论的大型多人在线游戏的实现策略.采用单一服务器方法表示多个玩家游戏状态的好处是什么?这存在什么问题以及如何解决? 1.4 一个用户随身携带可以无线连网的PDA,来到一个

《分布式系统:概念与设计》一2.3.1 体系结构元素

2.3.1 体系结构元素 为了理解一个分布式系统的基础构建块,有必要考虑下面四个关键问题: 在分布式系统中进行通信的实体是什么? 它们如何通信,特别是使用什么通信范型? 它们在整个体系结构中扮演什么(可能改变的)角色,承担什么责任? 它们怎样被映射到物理分布式基础设施上(它们被放置在哪里)? 通信实体 上述前两个问题是理解分布式系统的关键:什么是通信和这些实体如何相互通信为分布式系统开发者定义了一个丰富的设计空间.它对从面向系统和面向问题的角度解决第一个问题是有帮助的. 从系统的观点,回答通常是

《分布式系统:概念与设计》一2.4.1 交互模型

2.4.1 交互模型 2.3节对系统体系结构的讨论表明分布式系统由多个以复杂方式进行交互的进程组成.例如: 多个服务器进程能相互协作提供服务,前面提到的例子有域名服务(它将数据分区并复制到互联网中的服务器上)和Sun的网络信息服务(它在局域网的几个服务器上保存口令文件的复制版本). 对等进程能相互协作获得一个共同的目标.例如,一个语音会议系统,它以类似的方式分布音频数据流,但它有严格的实时限制. 大多数程序员非常熟悉算法的概念--采取一系列步骤以执行期望的计算.简单的程序由算法控制,算法中的每一

《分布式系统:概念与设计》一第2章 系统模型

第2章 系统模型 本章提供三个重要且互补的解释方法,以便有效地描述和讨论分布式系统的设计:物理模型考虑组成系统的计算机和设备的类型以及它们的互连,不涉及特定的技术细节.体系结构模型是从系统的计算元素执行的计算和通信任务方面来描述系统:这里计算元素或是指单个计算机或是指通过网络互连的计算机集合.客户-服务器和对等模型是分布式系统中的两种最常使用的体系结构模型.基础模型采用抽象的观点描述大多数分布式系统面临的单个问题的解决方案.在分布式系统中没有全局时间,所以不同计算机上的时钟未必给出相同的时间.进