У меня есть журнал ниже, пытаясь разобрать его по указанной колонке № 1, как дата, 2, как время, 3 в качестве задачи, 4 как Error_Line и 5 всех остальных столбцов, как ERROR_MESSAGEСинтаксический системный журнал файл с свинью
|1 | |2 | |3 | |4 | |5 |
09-15-16 05:23:45 B:VVBN 09064 Port 22 Device 10400 Remote 44 13331 Link Up RP2016
09-15-16 05:23:44 A:QAWE 09064 Port 22 Device 10400 Remote 44 13331 Link Up RP2016
09-15-16 05:23:44 B:VVBN 13425 Port 22 Device 10400 Remote 44 13331 Receive Time Error: 24666 23270 1396 69
09-15-16 05:23:43 B:QAWE 13372 Port 22 Device 10400 Remote 44 13331 Send Time Error: 444 1888 1444 69
09-15-16 05:23:43 A:VVBN 13425 Port 22 Device 10400 Remote 44 13331 Receive Time Error: 24666 23270 1396 69
09-15-16 05:23:43 A:CCBE 13372 Port 22 Device 10400 Remote 44 13331 Send Time Error: 444 1888 1444 69
09-15-16 05:21:56 B:VVBN 07270 Port 22 Device 10400 Remote 44 13331 AT Timer Expired
09-15-16 05:21:56 A:CCBE 07270 Port 22 Device 10400 Remote 44 13331 AT Timer Expired
здесь мой сценарий
logs = LOAD '/data/test_log.txt' USING PigStorge(' ') AS (date: chararray, time: chararray, task: chararray, line_error: int, error_message: chararray);
date = GROUP logs BY date;
counts = FOREACH date GENERATE COUNT($4) as count;
DUMP counts;
уведомление есть одно пространство между колоннами только есть пять пробелов между 3 и 4 колонки. Я пробовал сценарий выше, но он просто хорош для даты, а не для последнего столбца Error_message. Я пытаюсь получить этот выходной мешок:
(09-15-16,05:23:45,B:VVBN,09064,Port 22 Device 10400 Remote 44 13331 Link Up RP2016)
(09-15-16,05:23:44,A:QAWE,09064,Port 22 Device 10400 Remote 44 13331 Link Up RP2016)
:
:
мне просто нужно рассмотреть первые четыре столбца любые другие столбцы в файле журнала смешивать их в одном столбце 5.
Любое предложение, чтобы получить желаемое вывод.
Nuulu благодарит проблему Я не знаком с регулярным выражением, и то, что меня удерживает. – Alsphere