Apache Zeppelin - error: overloaded method value run with alternatives

Apache Zeppelin - error: overloaded method value run with alternatives

我正在尝试在以下代码中使用 Apache Zeppelin 中可用的 angular 绑定功能:

val ab10 = z.sqlContext.sql("select "+ z.angular("selectVari0")  + " from MyDF")
ab10.toDF.registerTempTable("ab0")

z.angularBind("abb0", ab10)
val selvar = z.getInterpreterContext()
z.angularUnwatch("abb0")
z.angularWatch("abb0", (before:Object, after:Object) => {
       z.run(15, selvar)
})

我收到以下错误:

ab10: org.apache.spark.sql.DataFrame = [BMI: double]
warning: there was one deprecation warning; re-run with -deprecation for details
selvar: org.apache.zeppelin.interpreter.InterpreterContext = org.apache.zeppelin.interpreter.InterpreterContext@216b8218
<console>:31: error: overloaded method value run with alternatives:
(x: java.util.List[Object],x: org.apache.zeppelin.interpreter.InterpreterContext)Unit <and>
(x: String,x: String)Unit
cannot be applied to (Int, org.apache.zeppelin.interpreter.InterpreterContext)
z.run(15, selvar)
  ^

我尝试了 here 中的另一个示例。我得到了类似的错误。我找不到任何文档来修复此错误。

如错误消息中所述,您必须使用以下签名重载 .run 方法:

(x: java.util.List[Object],x: org.apache.zeppelin.interpreter.InterpreterContext)Unit <and>
(x: String,x: String)Unit

请尝试这样称呼它:

import collection.JavaConverters._
z.run(List(15).asJava, selvar)