2016-10-29 9 views
0

Azure HDInsightにスパークアプリケーション(スカラ)を書き、正規表現を使ってログラインから情報を抽出しようとしています。 正規表現はこれです:"500 Internal Server Error" 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 

をRegexをビルドする前に.util.matching.Regexを実行しますが、エラーは同じです。トリプル・クォートやゼップリンが許さない形式のものがあると思いますが、私は何を理解できません。誰でも助けてくれますか? Jupiterの代わりにZeppelinを使用したいのですが、私はsparksqlクエリをよりよく視覚化できると思っています。

しかし、単純なパターンを書き込もうとすると、patt= """abc.*""".rにエラーはありません。

編集:Zeppelinで正規表現を書くのに数回試してみましたが、問題は(\ d)(\ w)などのようにグループをキャプチャしているように見えます。Zeppelin scala interpret(Livy)は取りません。 しかし、同じ同一の正規表現は完全にjupyterで動作します。 私はscalaで新しいですし、多分私は何か非常に簡単に逃します。助けてください

+0

内部サーバエラーの原因となった例外スタックトレースを貼り付けます – pamu

+0

例外スタックトレースはありません。このエラーメッセージだけです – Thanas

答えて

0

解決済み:\\\に置き換えただけで、それは完全に動作します。 Livyインターピターは、scala正規表現で\の1つを受け付けませんが、\\を受け入れて\に変換すると考えられます。

関連する問題