2015-08-17 4 views
0

Используя каскадирование, я фильтрую некоторые кортежи и выводя их в файл S3.Как подсчитать количество выходных кортежей в каскаде

Я также хочу рассчитать количество выходных итоговых кортежей. Один простой способ - загрузить выходной файл S3 и подсчитать количество строк.

Есть ли другой способ сбросить количество выходных кортежей в другой файл?

ответ

0

Это можно сделать, используя flowprocess.

Мы можем написать пользовательскую функцию.

public class Counter extends BaseOperation implements Function { 
    ... 
    @Override 
    public void operate(FlowProcess flowProcess, FunctionCall functionCall) { 
    functionCall.getOutputCollector().add(functionCall.getArguments()); 
    flowProcess.increment(counterGroup, counterName, 1); 
    } 
... 
} 

Использование:

groupByPipe = новый Каждый (groupByPipe, новый счетчик (COUNTER_GROUP_NAME, counterName));

Смежные вопросы