gpt4 book ai didi

java - Spark 缓存与数据库的数据检索速度慢

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:46 24 4
gpt4 key购买 nike

我们在产品中引入了 Spark Cache 来操作内存中的数据,因为在数据量巨大(大数据)的情况下积极处理远程数据库太耗时。

现在我们注意到,一旦数据加载到spark中,比直接查询原始源(远程数据库)响应更慢

我们使用sparkSQL来检索数据,并且相同的查询从远程数据库返回数据的时间要早​​得多,而同一台计算机上具有单个节点的Spark缓存则滞后于很大的时间。

任何指导将不胜感激。

使用 Spark UI 快照的示例查询:

SELECT column1, SUM(column2) FROM tableName WHERE column2 > 200 GROUP BY column1 ORDER BY column1
Spark 内存中的

数据100% 加载See Image
从 Spark 加载结果需要 15 分钟See Image

其中 Spark 缓存包含大约50,000 条记录。测试查询的机器具有 16 个 CPU 内核64GB 内存

我的问题是 50,000 条记录不算什么,为什么要花这么多分钟而不是几毫秒。所有事情都在本地计算机上完成。

最佳答案

首先,检查数据集是否已 100% 缓存(例如在 Spark UI 中)。如果没有,Spark 必须远程或从磁盘获取一些数据,并将其与内存中的数据结合起来。

其次,Spark 可能不如专用数据库快,因此通过网络从非常快的数据库传输结果可能比让通用引擎计算结果更快,特别是当数据库在单台计算机上运行时。

关于java - Spark 缓存与数据库的数据检索速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184960/

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