Разделение GroupByKey в Beam - PullRequest
       19

Разделение GroupByKey в Beam

0 голосов
/ 30 октября 2019

Beam GroupByKey группирует записи по ключам по всем разделам и выводит одну итерацию для каждого ключа в окне. Это "объединить s связанных данных в одно место "

Есть ли способ, которым я могу группировать записи по ключу локально, так что я все еще получаю одну итерацию для-key-per-window в качестве выходных данных, но только для локальных записей в разделе вместо глобальной группы по ключу для всех местоположений?

1 Ответ

0 голосов
/ 30 октября 2019

Если я правильно понимаю ваш вопрос, вы не хотите передавать данные по сети, если часть (раздел) была обработана на том же компьютере, а затем может быть сгруппирована локально.

Обычно,Beam не предоставляет вам подробных сведений о том, где и как будет выполняться ваш код, поскольку он может варьироваться в зависимости от бегуна / движка / менеджера ресурсов. Однако, если вы можете получить некоторую уникальную информацию о вашем работнике (например, имя хоста, IP-адрес или MAC-адрес), то вы можете использовать ее как часть своего ключа и сгруппировать все связанные данные по этому. Вполне вероятно, что в этом случае эти разделы данных не будут перемещены на другие машины, поскольку все необходимые входные данные уже находятся на той же машине и могут обрабатываться локально. Хотя, афаик, на это нет 100% гарантии.

...