我在使用EMR运行的scala apache笔记本时遇到问题。以下代码在笔记本中运行良好:
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"在播放按钮旁边。
答案 0 :(得分:1)
这将起作用
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);
}
它返回一个Object,尽管真正的类是String。