我在zeppelin(0.7.2)中运行R笔记本遇到了一个奇怪的问题。 Spark intrepreter在每个音符的Scoped模式和spark版本是1.6.2并且设置了SPARK_HOME。
请找到以下步骤重现此问题:
创建一个笔记本(注1)并在段落中运行任何r代码。我运行了以下代码。
%r
rdf <- data.frame(c(1,2,3,4))
colnames(rdf) <- c("myCol")
sdf <- createDataFrame(sqlContext, rdf)
withColumn(sdf, "newCol", sdf$myCol * 2.0)
创建另一个笔记本(注2)并在段落中运行任何r代码。我运行了与上面相同的代码。
直到现在一切正常。
org.apache.zeppelin.interpreter.InterpreterException:sparkr不是 响应
我从分析中了解到,为sparkr解释器创建的进程没有被正确杀死,这使得每个第三个模型在执行时都会抛出错误。重启sparkr解释器时将终止该进程,并且可以成功执行另外两个模型。即,对于使用sparkr解释器运行的每个第三个模型,都会抛出错误。
帮我解决问题。
答案 0 :(得分:0)
你需要设置大于2的spark.r.numRBackendThreads。默认情况下它是2,这意味着你只能有2个线程用于RBackend。由于每个音符使用范围模式,因此每个音符将为RBackend使用一个线程,因此您只能运行2个音符。