在内存受限的设置中运行Spark

时间:2019-07-18 20:57:44

标签: apache-spark apache-spark-sql

我对在内存非常有限的环境中运行Spark的任何提示/技巧或配置选项感兴趣。对于可用内存少的部署,最重要的考虑因素是什么?

1 个答案:

答案 0 :(得分:3)

良好的数据处理基础知识将使您受益匪浅。

  • 避免拖拉不需要的列。
  • 使用像int这样的内存有效类型,而不是字符串。
  • 避免执行需要在内存中实现大量数据的操作,例如联接和分组依据。
  • 考虑将查询细分为多个较小的查询。
  • 确保您具有合理数量的分区,以使每个分区的数据量较低
  • 确保正确处理歪斜。这可能导致单个任务的内存利用率上升到空中火箭。
  • 为每个执行程序运行更多的cpus,以获取更大的内存池以在任务之间共享。
  • 使用不足的CPU并为每个任务分配更多的内存。
  • 最后,当内存用完时,您也可以使用快速磁盘。在进行排序和联接时,Spark可以溢出到磁盘上。