2017-01-04 10 views
0

EMR에서 실행중인 scala apache 노트북에 문제가 있습니다.Zeppelin이 z.input 동적 형식에서 정규 표현식을 확인하지 못했습니다.

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

반환 : 그래서 다음을 수행

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) 

반환 :

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"만 있습니다. 실제 클래스는 문자열이지만

답변

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)) 

이 ZeppelinContext

public Object input(String name, Object defaultValue) { 
    return gui.input(name, defaultValue); 
} 

그것은 개체를 반환이 같은 정의 z.input 작동된다.