Классификатор клея не может классифицировать столбцы, используя шаблон Grok - PullRequest
0 голосов
/ 10 января 2020

У меня есть корзина s3, которую я структурировал, используя формат s3://<bucket-name>/year=<yearno>/month=<monthno>/day=<dayno>/<filename>.log. Строки в полученных мной файлах .log структурированы следующим образом:

2020-01-06 09:05:14,450 INFO [Asterisk-Java DaemonPool-1-thread-3] handler.CallHandler (CallHandler.java:849) - Original name : harris changed to : haris . Exist? true

В то время как шаблон Grok, который я использую для классификатора:

[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9:,]{12} INFO \[Asterisk-Java DaemonPool-1-thread-[0-9]{1,3}] handler.CallHandler \(CallHandler.java:849\) - Original name : %{WORD:original_name} changed to : %{WORD:transformed_name} . Exist\? %{WORD:exist_prior}

Я проверил свой шаблон Grok, используя это веб-приложение отладчика , и оно подтвердилось. Я ожидал, что полученная таблица будет такой:

+------+-------+-----+---------------+------------------+--------------+
| year | month | day | original_name | transformed_name | exists_prior |
+------+-------+-----+---------------+------------------+--------------+
|    - |     - |   - |             - |                - |            - |
+------+-------+-----+---------------+------------------+--------------+

Однако полученная таблица:

+------+-------+-----+------+------+------+------+
| year | month | day | col0 | col1 | col2 | col3 |
+------+-------+-----+------+------+------+------+
|    - |     - |   - |    - |    - |    - |    - |
+------+-------+-----+------+------+------+------+

Где я go ошибся?

1 Ответ

0 голосов
/ 10 января 2020

Я изменил свое регулярное выражение захвата с %{WORD:variable_name} на %{DATA:variable_name}. Затем он работал как ожидалось.

...