我按照这篇文章写了一些在本地运行的火花测试:http://mkuthan.github.io/blog/2015/03/01/spark-unit-testing/
主要代码如下:
class SparkExampleSpec extends FlatSpec with BeforeAndAfter {
private val master = "local[2]"
private val appName = "example-spark"
private var sc: SparkContext = _
before {
val conf = new SparkConf()
.setMaster(master)
.setAppName(appName)
sc = new SparkContext(conf)
}
after {
if (sc != null) {
sc.stop()
}
}
(...)
但是我发现当我的测试增加时,它会报告OutOfMemoryError
并且进程被阻止。
如何解决?
PS:有些测试会生成一些RDD,但不会collect
,例如:
val rdd = sparkContext.makeRDD(someData)
// not calling `rdd.collect()`
这可能是一个问题吗?
答案 0 :(得分:0)
我无法准确回答,因为我不知道你的火花配置
但是,我认为内存设置可能是。
检查驱动程序(或执行程序)内存的配置
$SPARK_PATH/conf/spark-default.conf
spark.driver.memory
spark.executor.memory
您可以从此页面获得帮助。