Apache Spark概述
MR和Hadoop已被证明是高性能处理海量数据的最佳解决方案。然而,MR在迭代计算中性能不足:多个MR作业之间的输出必须被写入HDFS。在单个MR作业中,因为MR框架存在的一些缺点也存在性能不足。
1 Apache Spark是什么?
- 一个快速的企业级大规模数据处理引擎,可以与Apache Hadoop进行互操作
- 用Scala编写的。Scala是一种兼顾面向对象和函数式的编程语言,在JVM中运行
- Spark让应用程序在处理过程中能可靠地在内存中分发数据。其能够让应用程序避免低效率磁盘I/O,以内存速度进行计算。
- 相比MR,Spark程序在内存储存模式下执行的速度快100倍,在磁盘存储模式下速度快10倍
- 通过Scala、python和R的交互式shell,为java、python和R语言提供本地支持
- Spark提供一系列的库
- Spark可以运行在Hadoop、Mesos、standalone集群管理器,内部硬件系统或云计算平台上
Spark是一个计算引擎,可以把数据存储在内存里或Tachyon上进行处理。Spark具有从存储在HDFS或Hadoop API支持的其他存储系统中的任何文件创建分布式数据集的能力。
Spark不是Hadoop,不需要Hadoop运行它。Spark支持文本文件、序列文件、Avro、Parquet和其他任何Hadoop输入格式。
2 MapReduce的问题
- MR为每个映射器和哈建起创建单独的JVM,启动JVM需要相当长的时间
- MR代码需要大量样板代码。程序员要从映射(map)化简(reduce)角度设计业务问题,很难开发。
- MR作业在每个作业之间将数据写入磁盘,不适合迭代处理
- 更高级别的抽象能为MR作业提供更好的编程手段。
- MR也没有理想API
MR速度慢是因为MR作业中每个作业都把数据存储在磁盘上,对同一数据集的多查询会分别读取数据,产生大量磁盘读写。
Spark把中间数据存储在内存中,根据需要多次重复使用,提高了性能。
3 Spark的架构
Spark的架构组件有 Spark Core,Spark SQL,Dataset、DataFrame、Spark Streaming、Structured Streaming、Mlib、GraphX、SparkR
Apache Spark概述相关推荐
- Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN
Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...
- 大规模数据处理Apache Spark开发
大规模数据处理Apache Spark开发 Spark是用于大规模数据处理的统一分析引擎.它提供了Scala.Java.Python和R的高级api,以及一个支持用于数据分析的通用计算图的优化引擎.它 ...
- Apache Spark 2.2.0 中文文档 - GraphX Programming Guide | ApacheCN
GraphX Programming Guide 概述 入门 属性 Graph 示例属性 Graph Graph 运算符 运算符的汇总表 Property 运算符 Structural 运算符 Joi ...
- Spark之Spark概述
Spark之Spark概述 什么是Spark Spark内置项目介绍 Spark特点 Spark的用户和用途 1. 什么是Spark Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生 ...
- 【Spark】一条 SQL 在 Apache Spark 之旅(上)
1.概述 转载学习加深印象:一条 SQL 在 Apache Spark 之旅(上) Spark SQL 是 Spark 众多组件中技术最复杂的组件之一,它同时支持 SQL 查询和 DataFrame ...
- spark学习-52-Spark的org.apache.spark.SparkException: Task not serializable
1.概述 报错这个一般是org.apache.spark.SparkException: Task not serializable 17/12/06 14:20:10 INFO MemoryStor ...
- 多云时代下数据管理技术_建立一个混合的多云数据湖并使用Apache Spark执行数据处理...
多云时代下数据管理技术 Azure / GCP / AWS / Terraform / Spark (Azure/GCP/AWS/Terraform/Spark) Five years back wh ...
- spark 概述与安装
概述 spark 是一个快速的通用集群计算系统.它提供了丰富的高水平的api供java,scala和python调用. 安装 到官网下载最新版本spark-1.3.1 http://spark.apa ...
- 大数据技术之Spark(一)——Spark概述
大数据技术之Spark(一)--Spark概述 文章目录 前言 一.Spark基础 1.1 Spark是什么 1.2 Spark VS Hadoop 1.3 Spark优势及特点 1.3.1 优秀的数 ...
最新文章
- 【网络流24题】魔术球问题(最大流)
- 深入浅出SQL(三)——表的规范化
- python treeview底部加个按钮_Python爬取京东商品信息(GUI版本)
- 前端学习(3209):react中类中方法的this指向
- 前端学习(752):全局变量和局部变量
- Pytorch(5)-梯度反向传播
- 三星核S5PV210AH-A0 SAMSUNG
- STM32F103基本定时器使用
- Mysql中有哪些数据类型(建议收藏)
- 计算机更新过后cad,CAD2022更新了什么?具有哪些新功能?
- 开发工具-Hijson
- 资深渗透测试工程师的渗透技巧总结(67个Tips)
- 平时的工作如何体现一个人的技术深度?
- Hypervisor
- zookeeper windows7下集群搭建
- 记录自己三天速成使用django+html制作国内疫情可视化平台的过程(一)
- 字体图标 fa fa html5,Font Awesome 4.2.0的所有图标参考
- duck java_编程语言中的 DUCK TYPING
- 打印技术之打印机状态监控
- 魔妆镜在电商直播中的应用