Zeppelin 无法从 z.input 动态表单中检查正则表达式

Zeppelin fails to check regex from z.input dynamic form

我在使用 EMR 上的 scala apache notebook 运行 时遇到问题。以下代码在笔记本中运行良好:

var d1 = "2016-12-26"
var datePattern = "[0-9]{4}-[0-9]{2}-[0-9]{2}".r
println(datePattern.findFirstIn(d1))

返回

Some(2016-12-26)

以下也是如此:

var d1 = z.input("date (yyyy-mm-dd)", "12-25-2016")
println(d1)
println(d1.getClass)

返回:

12-25-2017
class java.lang.String

但以下失败:

var d1 = z.input("date (yyyy-mm-dd)", "12-25-2016")
var datePattern = "[0-9]{4}-[0-9]{2}-[0-9]{2}".r
println(datePattern.findFirstIn(d1))

没有输出或回溯,播放按钮旁边只有 "ERROR"。

这应该有效

var d1 = z.input("date (yyyy-mm-dd)", "2016-12-25").toString
var datePattern = "[0-9]{4}-[0-9]{2}-[0-9]{2}".r
println(datePattern.findFirstIn(d1))

z.input 在 ZeppelinContext

中这样定义
public Object input(String name, Object defaultValue) {
  return gui.input(name, defaultValue);
}

它returns一个Object,虽然真正的class是String。