Я следил за This Stack Over Flow question, где показано, как подсчитывать строки в свинье.Любой более быстрый способ подсчета строк в свинге
Проблема, которую я нашел, это невероятно много времени, если я выполняю некоторое соответствие фильтра регулярных выражений и другую операцию, прежде чем пытаться подсчитать строки фильтрованной переменной.
Вот мой код
all_data = load '/logs/chat1.log' USING TextLoader() as line:chararray;
match_filter_1 = filter all_data by (line matches 'some regex');
inputGroup = GROUP match_filter_1 ALL;
totalLine = foreach inputGroup generate COUNT (match_filter_1);
dump totalLine;
так, есть ли способ, чтобы получить результат быстрее?
что размер ваших данных –
сейчас это размер данных демо, как 2 Гб. –