gpt4 book ai didi

apache-spark - Apache Spark 警告 MemoryStore : Not enough space

转载 作者:行者123 更新时间:2023-12-04 03:55:40 28 4
gpt4 key购买 nike

我使用 Sparklung Water 并且正在从 Parquet 文件中读取数据。

我的 spark-default.conf 的部分:

`spark.serializer org.apache.spark.serializer.KryoSerializer spark.kryoserializer.buffer.max 1g 
spark.driver.memory 40g
spark.executor.memory 40g
spark.driver.maxResultSize 0
spark.python.worker.memory 30g
spark.executor.extraJavaOptions -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution
spark.storage.safetyFraction 0.9
spark.storage.memoryFraction 0.0

`
15/11/26 11:44:46 WARN MemoryStore: Not enough space to cache rdd_7_472 in memory! (computed 3.2 MB so far) 
15/11/26 11:44:46 WARN ParquetRecordReader: Can not initialize counter due to context is not a instance of TaskInputOutputContext, but is org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl
15/11/26 11:44:46 WARN ParquetRecordReader: Can not initialize counter due to context is not a instance of TaskInputOutputContext, but is org.apache.hadoop.mapreduce.task.TaskAttemptContextImpl
15/11/26 11:44:46 WARN MemoryStore: Failed to reserve initial memory threshold of 1024.0 KB for computing block rdd_7_474 in memory.
15/11/26 11:44:46 WARN MemoryStore: Failed to reserve initial memory threshold of 1024.0 KB for computing block rdd_7_475 in memory.

实际上,Spark 只使用了它可以使用的一部分内存,并且在分配内存方面存在很多错误。 Spark 开始在硬盘驱动器上写入数据,而不是使用 RAM。为什么会这样?可能是我应该更改 conf 文件中的某些内容?以及如何更改 Java 用作“tmp”的目录?

谢谢!

最佳答案

万一如果你进入这篇文章并且仍然想知道发生了什么,请引用上面关于你如何以及为什么登陆这个错误的答案。

对我来说,我真的会看 (computed 3.2 MB so far)并开始担心!

但是,为了解决:
套装spark.storage.memoryFraction标志到 1在创建 sparkContext 时要使用高达 XXGb 的内存,默认为提供的总内存的 0.6。
还要考虑设置:
rdd.compressiontrue

StorageLevelMEMORY_ONLY_SER如果您的数据有点大于可用内存。 (你也可以试试 MEMORY_AND_DISK_SER)。

刚刚浏览了旧邮件并偶然发现了这个属性:

**spark.shuffle.spill.numElementsForceSpillThreshold**

我们将其设置为 --conf spark.shuffle.spill.numElementsForceSpillThreshold=50000 这解决了问题,但是需要针对特定​​用例调整此值(尝试将值降低到 40000 或 30000)。

截至目前,spark 有两个新参数:
- spark.shuffle.spill.map.maxRecordsSizeForSpillThreshold- spark.shuffle.spill.reduce.maxRecordsSizeForSpillThreshold
引用:

https://issues.apache.org/jira/browse/SPARK-27734



希望它有帮助!干杯!

关于apache-spark - Apache Spark 警告 MemoryStore : Not enough space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934569/

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