Spark大数据计算引擎介绍
本文内容参考《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大数据计算引擎介绍相关推荐
- spark大数据计算引擎原理深剖(优缺点)-spark简介
用spark,你仅仅只是调用spark的API肯定是很low的. 今天来讲讲spark的原理,并且会针对部分源码进行讲解,如有不同意见请联系本人交流探讨. 目前大数据生态主要部分是Hadoop软件框架 ...
- 上:Spark VS Flink – 下一代大数据计算引擎之争,谁主沉浮?
作者简介 王海涛,曾经在微软的 SQL Server和大数据平台组工作多年.带领团队建立了微软对内的 Spark 服务,主打 Spark Streaming.去年加入阿里实时计算部门,参与改进阿里基于 ...
- 轻量级大数据计算引擎esProc SPL,Hadoop Spark太重
前言 背景:随着大数据时代的来临,数据量不断增长,传统小机上跑数据库的模式扩容困难且成本高昂,难以支撑业务发展. 应对之法:很多用户开始转向分布式计算路线,用多台廉价的PC服务器组成集群来完成大数据计 ...
- Spark 凭什么成为最火的大数据计算引擎?
这年代,做数据的,没人不知道 Spark 是什么吧.作为最火的大数据计算引擎,现在基本上是各互联网大厂的标配了. 比如,字节跳动基于 Spark 构建的数据仓库,服务了几乎所有的产品线,包括抖音.今日 ...
- 大数据(三)大数据计算引擎
文章目录 说明 分享 大数据计算引擎 批处理 MapReduce tez 流批处理 Flink spark 总结 说明 本博客每周五更新一次. 介绍过大数据平台的搭建.应用和存储,本期分享下大数据计算 ...
- Apache Flink 为什么能够成为新一代大数据计算引擎?
众所周知,Apache Flink(以下简称 Flink)最早诞生于欧洲,2014 年由其创始团队捐赠给 Apache 基金会.如同其他诞生之初的项目,它新鲜,它开源,它适应了快速转的世界中更重视的速 ...
- 大数据计算引擎之Flink Flink CEP复杂事件编程
原文地址:大数据计算引擎之Flink Flink CEP复杂事件编程 复杂事件编程(CEP)是一种基于流处理的技术,将系统数据看作不同类型的事件,通过分析事件之间的关系,建立不同的时事件系序列库,并利 ...
- 揭秘阿里云EB级大数据计算引擎MaxCompute
日前,全球权威咨询与服务机构Forrester发布了<The Forrester WaveTM: Cloud Data Warehouse, Q4 2018>报告.这是Forrester ...
- 为什么Spark能成为最火的大数据计算引擎?它是怎样工作的?
导读:零基础入门Spark必读. 作者:朱凯 来源:大数据DT(ID:hzdashuju) 01 概述 十年前我们只有Hadoop,大家首先通过HDFS实现海量数据的共享存储,然后使用MapReduc ...
- 大数据计算引擎击穿万古长夜
构成世界的3个要素是[物质].[能量]和[信息] 而[信息]要素是到20世纪才正真爆发出来,即:信息时代 进入"信息时代",信息所占比重越来越大,一切都变的"智慧&quo ...
最新文章
- C#如何向EXCEL写入数据
- 如何正确实施人工智能
- JavaScript中hoisting(悬置/置顶解析/预解析) 实例解释,全局对象,隐含的全局概念...
- matlab pdist函数官方详解
- fatal error LNK1123: 转换到 COFF 期间失败
- PMCAFF|百度客户端产品:高效开发客户端产品的正确姿势
- 牛客题霸 [	换钱的最少货币数] C++题解/答案
- 使用Visual Studio.Net,系统报告“automation服务器不能创建对象”错误。解决之道运行:regsvr32 scrrun.dll 就可以了。
- 使用 Docker 构建自己的镜像
- Linux 2.6 中的页面回收与反向映射
- (转)美国进入智能投顾竞争时代
- 多元函数的泰勒展开Talor以及黑塞矩阵
- Word2010页眉添加两条横线
- 各层电子数排布规则_核外电子的排布及其规律,亨利·莫塞莱和查尔斯·巴克拉最先发现电子层...
- 「大专及以上学历人员必看」学信网电子注册备案表
- excel打印预览在哪里_易打标条码标签设计打印软件下载_易打标条码标签设计打印软件绿色版下载...
- SpringBoot 实现大文件视频转码(转码基于FFMPEG实现)
- 淘宝分布式数据库是如何实现高可用的
- DJ3-5 死锁概述
- 面试问题——英语26 改善环境 愿望
热门文章
- AutoCAD2012从入门到精通中文视频教程 第20课 移动与旋转(个人收藏)
- sqlserver2008导入mysql_SQL Server 2008怎么导入sql文件?-SQL Server 2008导入sql文件的三种方法 - 河东软件园...
- ubuntu安装utorrent,以闪电的速度在六维空间下载东西!
- ApacheCN 活动汇总 2019.6.28
- 联想HINKPAD X220安装MacOS Mojave
- j2ee java是什么意思,j2ee是什么
- Linux中编译mdio命令,linux网络设备—mdio总线
- Boobooke (播布客) 是个好网站
- 52好压卸载不干净,解压时仍有52好压选项【彻底删除步骤,超详细】
- 非常实用的“绿色电子地图”