Я пытаюсь написать искровое приложение (в scala) в Azure HDInsight для извлечения информации из строки журнала с использованием регулярного выражения. регулярного выражение это:«Внутренняя ошибка сервера» Apache notebook Zeppelin on Azure Hdinsight
val patt1="""(?:(\w+) (\w+) (\d+) (\d+):(\d+):(\S+) (\w+) \[([^]]+)\] \((.*)\) - \[(\w+)\](?:\[(\w+)\])?\[(\w+)\]\[(\w+)\]\[\w+\]\[([^]]+)\](?:.*\[(.+)\]}))""".r
картина верна, потому что, если я использую Jupyter ноутбук, или работать в локальных затмениях все работает, и я могу извлечь данные из журналов.
Проблема заключается только тогда, когда я пытаюсь использовать дирижабли ноутбук вместо Jupyter, когда я пишу patt1 в виде строки (без .r) дать мне эту странную ошибку:
500 Internal Server Error
Я также попытался импортировать Scala .util.matching.Regex перед тем, как создать регулярное выражение, но ошибка такая же. Я думаю, что есть что-то в тройной цитате или в формате, который zeppelin не позволяет, но я не могу понять, что. Кто-нибудь может мне помочь? Я хочу использовать Zeppelin вместо Jupyter, потому что я думаю, что лучше визуализировать запросы sparksql.
Но если я попытаюсь написать простой шаблон, как patt= """abc.*""".r
, нет ошибок.
EDIT: Я попытался несколько раз написать регулярное выражение в Zeppelin, и кажется, что проблема заключается в том, что группы захвачены как (\ d) (\ w) и т. Д. Zeppelin scala interp (Livy) не принимает их. Но одно и то же одинаковое регулярное выражение отлично работает в jupyter. Я новичок в Скале и, может быть, я пропустил что-то очень ease.Please помочь мне
вставить исключение stacktrace, вызвавшее ошибку внутреннего сервера – pamu
, нет исключения stacktrace, это сообщение об ошибке – Thanas