gpt4 book ai didi

performance - spark 检查点是否比缓存更快?

转载 作者:行者123 更新时间:2023-12-04 18:35:37 25 4
gpt4 key购买 nike

在我的 spark 应用程序中,我正在 spark rdd 中读取几个 hive 表,然后稍后对这些 rdd 执行一些转换。为了避免重新计算,我使用 rdd.cache() 缓存了这些 rdds或 rdd.persist()rdd.checkpoint()方法。

根据 spark 文档和在线引用资料,我认为检查点操作比缓存更昂贵。虽然缓存保持 rdd 沿袭和检查点打破它,但检查点从 HDFS 写入和读取。

我在我的案例中观察到的奇怪的事情是,我看到检查点阶段比缓存/持久化(仅内存)更快(近 2 倍)。我跑了多次,结果仍然相似。

我无法理解为什么会发生这种情况。任何帮助都会有所帮助。

最佳答案

我最近运行了类似的基准测试,我遇到了同样的问题:checkpoint()尽管有更多 I/O,但速度更快。我的解释是,保留整个血统是一项代价高昂的操作。

我在 1, 10, 100, 1000, 10000, 100000, 1000000, 2000000, 10m 和更多记录上运行基准测试,检查点总是更快。沿袭非常简单(记录过滤,然后是几个聚合)。存储在 NVMe 驱动器上(不是通过网络阻止)。我想这真的取决于很多标准。

关于performance - spark 检查点是否比缓存更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44963752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com