本文内容参考《Spark与Hadoop大数据分析》[美]文卡特·安卡姆 著;《大数据架构详解 从数据获取到深度学习》 朱洁 罗华霖 著。

大数据生态的两个主要部分是Hadoop软件框架和Spark内存级计算引擎。Hadoop包含四个项目:Hadoop common,HDFS,YARN和MapReduce。
HDFS用于存储数据,HDFS文件被划分成区块分布在集群上;
YARN用于管理集群资源(CPU和内存)和支持Hadoop的公共实用程序;
MapReduce是利用磁盘的高I/O操作实现并行计算的框架,但它在迭代计算中性能不足。

Spark的作用相当于MapReduce,它是基于内存的计算引擎。Spark将迭代过程的中间数据缓存到内存中,根据需要多次重复使用。此外,Spark利用RDD结构提升了容错性能。

磁盘由于其物理特性现在,速度提升非常困难,远远跟不上CPU和内存的发展速度。近几十年来,内存的发展一直遵循摩尔定律,价格在下降,内存在增加。现在主流的服务器,几百GB或几TB的内存都很常见,内存的发展使得内存数据库得以实现,Spark正是利用这种计算资源设计的基于内存的分布式处理软件,其目标是取代MapReduce。

Spark可以直接对HDFS进行数据读写,支持YARN等部署模式。

Spark适合用于多次操作特定数据量大的数据集的场合;数据量小且计算密集度大的场合,其性能提升相对较小。

RDD

在Spark里,所有的处理和计算任务都会被组织成一系列Resilient Distributed Dataset(弹性分布式数据集,简称RDD)上的transformations(转换) 和 actions(动作)。
RDD是一个包含诸多元素、被划分到不同节点上进行并行处理的数据集合可以将RDD持久化到内存中,这样就可以有效地在并行操作中复用(在机器学习这种需要反复迭代的任务中非常有效)。
在节点发生错误时RDD也可以根据其Lineage自动计算恢复
RDD是Spark的最基本抽象,是对分布式内存的抽象使用,以操作本地集合的方式来操作分布式数据集的抽象实现。
RDD是Spark最核心的内容,它表示已被分区、不可变的、能够被并行操作的数据集,不同的数据集格式对应不同的RDD实现。
RDD必须是可序列化的。
RDD只能从持久存储或通过Transformation操作产生。(创建方式)

Spark工作架构

Spark可以分为1个driver(笔记本电脑或者集群网关机器上,用户编写的Spark程序)和若干个executor(在RDD分布的各个节点上)。
通过SparkContext(简称sc)连接Spark集群、创建RDD、累加器(accumlator)、广播变量(broadcast variables),简单可以认为SparkContext是Spark程序的根本。
Driver会把计算任务分成一系列小的task,然后送到executor执行。executor之间可以通信,在每个executor完成自己的task以后,所有的信息会被传回。

Spark框架是使用Scala函数式编程语言开发的,支持Java编程,Java与Scala可以互操作。此外,Spark提供了Python编程接口,Spark使用Py4J实现Python与Java的互操作,从而可以使用Python编写Spark程序。Spark还提供了一个Python_Shell,即pyspark,从而可以以交互的方式使用Python编写Spark程序。

最后,有关Pyspark的环境配置参考http://blog.csdn.net/cymy001/article/details/78430892

Spark大数据计算引擎介绍相关推荐

  1. spark大数据计算引擎原理深剖(优缺点)-spark简介

    用spark,你仅仅只是调用spark的API肯定是很low的. 今天来讲讲spark的原理,并且会针对部分源码进行讲解,如有不同意见请联系本人交流探讨. 目前大数据生态主要部分是Hadoop软件框架 ...

  2. 上:Spark VS Flink – 下一代大数据计算引擎之争,谁主沉浮?

    作者简介 王海涛,曾经在微软的 SQL Server和大数据平台组工作多年.带领团队建立了微软对内的 Spark 服务,主打 Spark Streaming.去年加入阿里实时计算部门,参与改进阿里基于 ...

  3. 轻量级大数据计算引擎esProc SPL,Hadoop Spark太重

    前言 背景:随着大数据时代的来临,数据量不断增长,传统小机上跑数据库的模式扩容困难且成本高昂,难以支撑业务发展. 应对之法:很多用户开始转向分布式计算路线,用多台廉价的PC服务器组成集群来完成大数据计 ...

  4. Spark 凭什么成为最火的大数据计算引擎?

    这年代,做数据的,没人不知道 Spark 是什么吧.作为最火的大数据计算引擎,现在基本上是各互联网大厂的标配了. 比如,字节跳动基于 Spark 构建的数据仓库,服务了几乎所有的产品线,包括抖音.今日 ...

  5. 大数据(三)大数据计算引擎

    文章目录 说明 分享 大数据计算引擎 批处理 MapReduce tez 流批处理 Flink spark 总结 说明 本博客每周五更新一次. 介绍过大数据平台的搭建.应用和存储,本期分享下大数据计算 ...

  6. Apache Flink 为什么能够成为新一代大数据计算引擎?

    众所周知,Apache Flink(以下简称 Flink)最早诞生于欧洲,2014 年由其创始团队捐赠给 Apache 基金会.如同其他诞生之初的项目,它新鲜,它开源,它适应了快速转的世界中更重视的速 ...

  7. 大数据计算引擎之Flink Flink CEP复杂事件编程

    原文地址:大数据计算引擎之Flink Flink CEP复杂事件编程 复杂事件编程(CEP)是一种基于流处理的技术,将系统数据看作不同类型的事件,通过分析事件之间的关系,建立不同的时事件系序列库,并利 ...

  8. 揭秘阿里云EB级大数据计算引擎MaxCompute

    日前,全球权威咨询与服务机构Forrester发布了<The Forrester WaveTM: Cloud Data Warehouse, Q4 2018>报告.这是Forrester ...

  9. 为什么Spark能成为最火的大数据计算引擎?它是怎样工作的?

    导读:零基础入门Spark必读. 作者:朱凯 来源:大数据DT(ID:hzdashuju) 01 概述 十年前我们只有Hadoop,大家首先通过HDFS实现海量数据的共享存储,然后使用MapReduc ...

  10. 大数据计算引擎击穿万古长夜

    构成世界的3个要素是[物质].[能量]和[信息] 而[信息]要素是到20世纪才正真爆发出来,即:信息时代 进入"信息时代",信息所占比重越来越大,一切都变的"智慧&quo ...

最新文章

  1. C#如何向EXCEL写入数据
  2. 如何正确实施人工智能
  3. JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念...
  4. matlab pdist函数官方详解
  5. fatal error LNK1123: 转换到 COFF 期间失败
  6. PMCAFF|百度客户端产品:高效开发客户端产品的正确姿势
  7. 牛客题霸 [ 换钱的最少货币数] C++题解/答案
  8. 使用Visual Studio.Net,系统报告“automation服务器不能创建对象”错误。解决之道运行:regsvr32 scrrun.dll 就可以了。
  9. 使用 Docker 构建自己的镜像
  10. Linux 2.6 中的页面回收与反向映射
  11. (转)美国进入智能投顾竞争时代
  12. 多元函数的泰勒展开Talor以及黑塞矩阵
  13. Word2010页眉添加两条横线
  14. 各层电子数排布规则_核外电子的排布及其规律,亨利·莫塞莱和查尔斯·巴克拉最先发现电子层...
  15. 「大专及以上学历人员必看」学信网电子注册备案表
  16. excel打印预览在哪里_易打标条码标签设计打印软件下载_易打标条码标签设计打印软件绿色版下载...
  17. SpringBoot 实现大文件视频转码(转码基于FFMPEG实现)
  18. 淘宝分布式数据库是如何实现高可用的
  19. DJ3-5 死锁概述
  20. 面试问题——英语26 改善环境 愿望

热门文章

  1. AutoCAD2012从入门到精通中文视频教程 第20课 移动与旋转(个人收藏)
  2. sqlserver2008导入mysql_SQL Server 2008怎么导入sql文件?-SQL Server 2008导入sql文件的三种方法 - 河东软件园...
  3. ubuntu安装utorrent,以闪电的速度在六维空间下载东西!
  4. ApacheCN 活动汇总 2019.6.28
  5. 联想HINKPAD X220安装MacOS Mojave
  6. j2ee java是什么意思,j2ee是什么
  7. Linux中编译mdio命令,linux网络设备—mdio总线
  8. Boobooke (播布客) 是个好网站
  9. 52好压卸载不干净,解压时仍有52好压选项【彻底删除步骤,超详细】
  10. 非常实用的“绿色电子地图”