Агрегаторы в Apache Beam с бегуном потока данных - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь создать агрегаторы для подсчета значений, которые удовлетворяют условию для всех входных данных.Я посмотрел в документации и нашел ниже для создания.

https://cloud.google.com/dataflow/java-sdk/JavaDoc/com/google/cloud/dataflow/sdk/transforms/Aggregator ..

Я использую: google-cloud-dataflow-java-sdk-all - 2.4.0 (на основе Apache Beam)

Однако я не могу найти соответствующий класс в новом API луча. Я посмотрел в пакет org.apache.beam.sdk.transforms.

Подскажите, пожалуйста, как я могу использовать агрегаторы с бегуном потока данных в новом API.?

Ответы [ 2 ]

0 голосов
/ 13 июля 2018

На данный момент, похоже, нет замены для класса Aggregator в Apache Beam SDK 2.X.Альтернативное решение для подсчета значений, соответствующих условию, было бы Преобразования .Используя преобразование GroupBy для сбора данных, удовлетворяющих условию, а затем преобразование Объединить, вы можете получить счетчик входных данных, соответствующих условию.

0 голосов
/ 22 мая 2018

Ссылка у вас есть для старого SDK (1.x).

В SDK 2.x вы должны обратиться к apache-beam SDK.Для упомянутого вами Aggregators, если я правильно понимаю, это для добавления счетчиков во время обработки.Я предполагаю, что соответствующий пакет должен быть org.apache.beam.sdk.metrics.

Пакет org.apache.beam.sdk.metrics Метрики позволяют экспортировать информацию о выполнении конвейера.

и org.apache.beam.sdk.metrics.Counter интерфейс:

Метрика, которая сообщает об одном длинном значении и может быть увеличена или уменьшена.

...