首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >内存中是否有额外的缓存火花数据的开销?

内存中是否有额外的缓存火花数据的开销?
EN

Stack Overflow用户
提问于 2020-04-06 23:29:46
回答 1查看 447关注 0票数 1

我是星火公司的新手,我想了解是否会有额外的开销/延迟来持久化和不持久化内存中的数据。

据我所知,在我们使用缓存数据saved时没有发生数据移动,它只是保存在executor的内存中。因此,这应该只是一个设置/取消一个标志的问题。

我在火花流作业中缓存数据帧,并想知道这是否会导致批处理执行中的额外延迟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-07 04:07:11

如果存在额外的开销/延迟,则为

,而非持久化内存中的数据。

那得看情况。如果您只将一个DataFrame标记为持久化,那么实际上不会发生任何事情,因为它是一个惰性操作。您必须执行一个操作来触发DataFrame持久性/缓存。使用此操作,确实会增加额外的开销。

此外,将持久化(缓存)视为一种预先计算数据并将其保存到更接近执行器(内存、磁盘或它们的组合)的方法。这个从它所在的位置移动到执行器的数据在执行时确实会增加额外的开销(即使它只是一点点)。

在内部,Spark将数据管理为块(在执行器上使用BlockManagers )。它们是按需交换块的对等方(使用类似于洪流的协议)。

取消DataFrame只是向BlockManagers发送一个请求(同步或异步)以删除RDD块。如果以异步方式发生,则开销为none (减去运行任务时需要执行的额外工作)。

,所以它应该只是设置/取消一个标志的问题。

从某种意义上说,这就是幕后的情况。由于DataFrame或RDD只是描述分布式计算的抽象,而在创建时不做任何操作,因此持久化/未持久化只是设置/取消一个标志。

在执行时可以注意到更改。

我在火花流作业中缓存一个数据文件,并想知道这是否会导致批处理执行中的额外延迟。

如果您使用异步缓存(默认),则应该有非常小的延迟。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61074859

复制
相关文章
Hive语法内关于With as 的数据是否会缓存到内存分析
  WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断可以被后面的SQL语句引用,从而使SQL语句的可读性更高。
挽风
2021/12/07
1.3K0
如何降低Istio服务网格中Envoy的内存开销
在Istio服务网格中,每个Envoy占用的内存也许并不算多,但所有sidecar增加的内存累积起来则是一个不小的数字。在进行商用部署时,我们需要考虑如何优化并减少服务网格带来的额外内存消耗。
赵化冰
2022/08/01
1.5K0
如何降低Istio服务网格中Envoy的内存开销?
在Istio服务网格中,每个Envoy占用的内存也许并不算多,但所有sidecar增加的内存累积起来则是一个不小的数字。在进行商用部署时,我们需要考虑如何优化并减少服务网格带来的额外内存消耗。
CNCF
2019/12/04
2K0
Golang 是否有必要内存对齐?
有些同学可能不知道,struct 中的字段顺序不同,内存占用也有可能会相差很大。比如:
poslua
2019/08/19
2K0
Golang 是否有必要内存对齐?
Android RxJava应用:从磁盘/内存缓存中获取缓存数据
Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。
Carson.Ho
2022/03/25
2.3K0
Android RxJava应用:从磁盘/内存缓存中获取缓存数据
android中内存缓存是如何实现的
那就有必要来看看LruCache源代码了 里面有一个重要的数据结构LinkedHashMap。具体讲解在这里(http://blog.csdn.net/lxj1137800599/article/details/54974988) 在此总结一下用法: 1.添加一个数据。先找到数组中对应的index,然后把数据放到链表的最后位置。由于是双向链表,那么就等于放在header.prv 2.获取一个数据。先找到数组中对应的index,然后找到数据所在的位置。如果是按照读取顺序来排序的,那么还要将这
提莫队长
2018/05/18
1K0
Android RxJava 实战系列:从磁盘 / 内存缓存中 获取缓存数据
Carson_Ho的Github地址 = RxJava2实战系列:从磁盘 / 内存缓存中 获取缓存数据
Carson.Ho
2019/02/22
2K0
通过“缓存”传递数据,是否可行?
如《互联网分层架构的本质》所述,互联网分层架构的本质,是数据的移动。 数据的移动,需要载体,DB和cache是常见的数据存储载体。 如上图: service-A将数据放入cache service-B
架构师之路
2018/03/02
7890
通过“缓存”传递数据,是否可行?
Java中的内存映射缓存区是什么?
Java 中的内存映射缓存区(Memory-mapped buffer)是一种将文件或文件的一部分直接映射到程序内存中的技术。简单来说,内存映射缓存区允许 Java 程序在处理文件时像处理一个非常大的字节数组一样进行操作,而不用担心过多的 I/O 负担或频繁的磁盘访问。为了更好地理解内存映射缓存区,我将从底层实现和使用场景两个方面进行说明。
用户1289394
2023/08/22
3830
Java中的内存映射缓存区是什么?
Guava 内存缓存的使用
expireAfterWrite 为了避免缓存雪崩,guava 会限制只有一个加载操作时进行加锁,其他请求必须阻塞等待这个加载操作完成。而且,在加载完成之后,其他请求的线程会逐一获得锁,去判断是否已被加载完成,每个线程必须轮流地走一个“获得锁,获得值,释放锁”的过程,这样性能会有一些损耗。
JMCui
2021/08/18
2.6K0
Guava 内存缓存的使用
基于LoadingCache的内存缓存
public class MemoryCache { private IService service; private static LoadingCache<String, Data> useCache; public MemoryCache(IService service) { this.service = service; initialized(); } public Data getResult(Str
用户1215919
2021/12/28
6390
内存和缓存的区别
今天看书的时候又看到了内存和缓存,之所以说又,是因为之前遇到过查过资料,但是现在又忘了(图侵删)。
萬物並作吾以觀復
2018/09/13
3.4K0
内存和缓存的区别
判断链表中是否有环
操作一:定义了两个变量来记录,A一个一次走一步,B一个一次走两步,如果有环B必然会追上A。如果无环B必然会先遍历完。
忧愁的chafry
2022/10/30
1.5K0
判断链表中是否有环
FastAPI(16)- 额外的数据类型
常见的数据类型 int float str bool 但 FastAPI 支持使用更复杂的数据类型 仍然能得到 FastAPI 的支持 IDE 智能提示 请求数据的数据类型转换 响应数据的数据类型转换 数据验证 自动注释和文档 复杂的数据类型 UUID 常见的唯一标识符 str 类型 datetime.datetime Python 的 datetime.datetime str 类型 栗子:2008-09-15T15:53:00+05:00 datetime.date Python 的 datetime.
小菠萝测试笔记
2021/09/27
4330
检验数据库中是否有特定记录的最简单方法
        String sqlconn = "Data Source=wei//SQLEXPRESS;Initial Catalog=HISDB;Integrated Security=True";         SqlConnection weida = new SqlConnection(sqlconn);         weida.Open();         //*********************         string sql = "SELECT tkdh FROM tkxx WHERE checked = 'True' AND tkdh='" + ckdh + "'";         SqlCommand check1 = new SqlCommand(sql, weida);
风柏杨4711
2021/03/15
1.1K0
如何检测node中是否存在内存泄露的隐患
虽然是在节假日期间,但是果然自己还是闲不住,不折腾点东西感觉生活就失去了趣味,闲话不多说,直接开始这次的记录和分享吧。
凌虚
2020/07/17
4.2K0
js中的数据_变量_内存
* 产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量的存储空间==>存储各种数据==>断电==>内存全部消失
李才哥
2020/03/28
3.2K0
js中的数据_变量_内存
js中的数据_变量_内存
* 产生和死亡: 内存条(集成电路板)==>通电==>产生一定容量的存储空间==>存储各种数据==>断电==>内存全部消失
李才哥
2020/03/28
3.6K0
js中的数据_变量_内存
点击加载更多

相似问题

火花混乱内存开销问题

10

includes的绝对URL是否有额外的开销?

20

c#是否有额外的内部类开销?

13

将大型数据集缓存到火花内存(通过sparklyr & RStudio)的"GC开销极限超过“

10

复杂的寻址模式是否对内存负载有额外的开销?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文