【发布时间】:2026-02-10 20:05:02
【问题描述】:
我是 Spark 的初学者,我正在运行我的应用程序以从文本文件中读取 14KB 数据,进行一些转换和操作(收集、收集AsMap)并将数据保存到数据库
我在我的 16G 内存、8 个逻辑核心的 macbook 上本地运行它。
Java 最大堆设置为 12G。
这是我用来运行应用程序的命令。
bin/spark-submit --class com.myapp.application --master local[*] --executor-memory 2G --driver-memory 4G /jars/application.jar
我收到以下警告
2017-01-13 16:57:31.579 [执行器任务启动 worker-8hread] 警告 org.apache.spark.storage.MemoryStore - 没有足够的空间来缓存 rdd_57_0 在内存中! (目前计算为 26.4 MB)
谁能指导我这里出了什么问题以及如何提高性能?另外如何优化 suffle-spill ?这是我本地系统中发生的泄漏的视图
【问题讨论】:
-
在本地模式下,
spark.executor.memory无效。所以只需通过spark.driver.memory尝试超过 6g,因为你有 16g 内存。 -
您要读取的文件大小是多少?
-
@RajatMishra 我尝试使用 6g 驱动程序内存和 8g java 最大堆。我仍然收到同样的信息。
标签: java apache-spark spark-streaming spark-submit