博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark学习脑图
阅读量:5901 次
发布时间:2019-06-19

本文共 914 字,大约阅读时间需要 3 分钟。

  hot3.png

百度脑图链接:

 

spark对比hadoop的优势

  hadoop spark
速度 中间结果存放在hdfs上 中间数据存在内存里,内存放不下会存在本地,不会存在hdfs上
  reduceTask需要等mapTask全部结束后才执行

相同分区的转换构成流水线,放在同一个task中运行。

分区不同的转换中间需要shuffle,放在不同的stage中,需要等前面的stage完成

 

时延高,只适合batch操作。

对于交互式数据操作和实时处理支持不足。

时延低,可以处理micro batch操作
  对迭代式数据处理性能比较差 在内存中缓存数据,提高迭代式计算的性能
编程模型 抽象层次低,需要手工编写代码来完成计算,使用上难易上手 基于RDD的抽象,使数据逻辑处理的代码非常简短。
  只提供两个操作:Map和Reduce,欠缺表达力。 提供很多转换和动作,很多基本操作,如join、groupBy等。
  一个job只有map和reduce两个阶段,复杂的计算需要大量job来完成,job之间的依赖关系是由开发者自己管理的。 一个job可以包含多个RDD转换操作,在调度时可以生成多个stage。如果多个map操作的RDD分区不变,可以放在同一个task中运行。
  处理逻辑隐藏在代码细节中,没有整体逻辑。 在Scala中,通过匿名函数和高阶函数,RDD的转换操作支持流式API,可以提供处理逻辑的整体视图,代码不包含具体的操作实现细节,逻辑更清晰。
     

 

Spark的适用场景:

Spar'k是基于内存的迭代计算框架,适用于需要多次操作特定数据的应用场景,需要反复操作的次数越多,受益越大。

 

不适用场景:

1、数据量小,但是计算密度较大的场景;

2、因为RDD的不可变性,Spark不适用于异步细粒度更新状态的应用场景,例如Web服务的存储,或者是增量的web爬虫和索引,即,不支持增量修改的应用模型。

 

参考文档

1、Spark:一个高效的分布式计算系统(1):http://developer.51cto.com/art/201309/410276.htm

转载于:https://my.oschina.net/rathan/blog/603425

你可能感兴趣的文章
委托、Lambda表达式、事件系列02,什么时候该用委托
查看>>
在ASP.NET MVC控制器中获取链接中的路由数据
查看>>
使用ASP.NET Atlas SortBehavior实现客户端排序
查看>>
LightOJ 1274 Beating the Dataset(期望)
查看>>
图像滤镜处理算法:灰度、黑白、底片、浮雕
查看>>
多线程一个错误的例子
查看>>
默认网关及route print
查看>>
Servlet如何处理一个请求?
查看>>
Nginx系列二:(Nginx Rewrite 规则、Nginx 防盗链、Nginx 动静分离、Nginx+keepalived 实现高可用)...
查看>>
1497 取余运算
查看>>
容器平台选型的十大模式:Docker、DC/OS、K8S谁与当先?
查看>>
Windows 2003 IIS 不支持ASP的问题
查看>>
了解 JavaScript (2)- 需要了解的一些概念
查看>>
图像对比度理解
查看>>
【跃迁之路】【472天】程序员高效学习方法论探索系列(实验阶段229-2018.05.23)...
查看>>
响应式Tab选项卡
查看>>
SQL Server 关于列的权限控制
查看>>
有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?
查看>>
Ansible 下载模块get_url、解压缩模块unarchive(学习笔记十五)
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.21. 窗口函数
查看>>