我正在调整在Spark 1.5.2上运行的应用程序。我运行完全相同的脚本2次,但使用不同的driver.memory参数。
脚本的目标只是在同一个表上进行连接并使用较新的表进行迭代,然后将其保存在Hive表中。
虽然我们给予的记忆越多,它就越好。但根据测试,这个想法是错误的...真的是驱动程序记忆负责吗?或者是+/-随机运行的过程......?
答案 0 :(得分:0)
如果您的驱动程序在独立计算机上运行(没有运行执行程序),则无关紧要。如果您正在使用collect / take操作,请尝试增加驱动程序内存,否则请增加执行程序内存以获得更好的性能。
如果您没有使用缓存,请尝试增加spark.shuffle.memoryFraction。
有关详细信息,请参阅spark doc:https://spark.apache.org/docs/1.5.2/configuration.html