Глобальный подсчет Apache Beam

#java #apache-beam

#java #apache-beam

Вопрос:

Я пытаюсь понять наилучший способ решения следующих:

В качестве простого примера сценария у меня есть файл, который описывает имя теста и если его выполнение прошло (true / false).

 test-scenario,passed
--------------------
testA,true
testB,false
 

Используя apache beam, я могу читать, анализировать файл, PCollection<TestDetails> а затем с помощью последующих преобразований записывать все детали теста, которые были переданы в один набор файлов, а также для тех тестов, которые завершились неудачей.

После записи вышеуказанных файлов я, наконец, хотел бы сгенерировать некоторые подсчеты, касающиеся: общего количества обработанных файловых записей, количества пройденных тестов, количества неудачных тестов и записи этих сведений в один файл.

Должен ли я использовать для этого глобальный комбайн?

Ответ №1:

Для этой цели вы можете использовать метрики луча (см. Документацию). Он предоставляет счетчики, которые можно использовать для нужд, описанных вами выше, а затем метрики могут быть извлечены после завершения вашего конвейера. Пожалуйста, взгляните на этот пример. Кроме того, Beam позволяет экспортировать показатели во внешний приемник, если это более удобно.