Есть сервер с 1gb RAM. Есть лог файл nginx (любой другой веб-сервер) на 70gb. Как максимально быстро собрать статистику по user agent пользователей сайта, учитывая описанные ограничения по ресурсам.
Ответ
можно воспользоваться StringTokenizer в языке Java, который позволяет считывать файл построчно и не тратить память на хранение всех строк файла.
StringTokenizer tok = new StringTokenizer("/path/to/file");
while (tok.hasMoreTokens()) {
String line = tok.nextToken();
// работаешь со строкой.
}
Также можно указывать разделитель в конструкторе, по умолчанию стоит \t
\f
Комментариев нет:
Отправить комментарий