정규식을 사용하여 로그 라인에서 정보를 추출하려면 Azure HDInsight에서 spark 응용 프로그램 (스칼라로)을 작성하려고합니다. 정규 표현식은 이것이다 :"500 내부 서버 오류"Apache 노트북 Zeppelin on Azure Hdinsight
val patt1="""(?:(\w+) (\w+) (\d+) (\d+):(\d+):(\S+) (\w+) \[([^]]+)\] \((.*)\) - \[(\w+)\](?:\[(\w+)\])?\[(\w+)\]\[(\w+)\]\[\w+\]\[([^]]+)\](?:.*\[(.+)\]}))""".r
나는 일식의 모든 작품에 현지에서 Jupyter 노트북, 또는 직장을 사용하는 경우 내가 로그에서 데이터를 추출 할 수이기 때문에 패턴은 올 바릅니다.
내가 (.R없이) 문자열로 patt1를 쓸 때 저에게이 이상한 오류주는 대신 Jupyter의 제플린의 노트북을 사용하려고하면 문제는 그냥 : 나는 또한 스칼라를 가져올 시도
500 Internal Server Error
을 정규식을 빌드하기 전에 .util.matching.Regex하지만 오류는 동일합니다. 제플린이 허용하지 않는 형식이나 3 중 따옴표에 뭔가가 있다고 생각합니다. 그러나 나는 무엇을 이해할 수 없습니다. 아무도 도와 줄 수 없니? Jupyter 대신 Zeppelin을 사용하고 싶습니다. 왜냐하면 sparksql 쿼리를 더 잘 시각화한다고 생각하기 때문입니다.
그러나 단순한 패턴을 쓸 경우 patt= """abc.*""".r
오류가 없습니다.
편집 : Zeppelin에서 정규 표현식을 쓰려고 여러 번 시도했는데 그룹을 (\ d) (\ w) 등으로 캡처하는 것이 문제인 것으로 보입니다. Zeppelin scala interpret (Livy)는이를 사용하지 않습니다. 하지만 동일한 정규 표현식이 jupyter에서 완벽하게 작동합니다. 매우 ease.Please 날이
내부 서버 오류가 발생한 예외 스택 추적을 붙여 넣으십시오. – pamu
예외 스택 추적이 없으며이 오류 메시지 만 있습니다. – Thanas