У меня есть своя собственная методика разбиения, которая генерирует ключи для кортежей DataStream, диапазон этих ключей равен числу узлов в кластерах, как если бы я установил параллелизм равным 4, сгенерированные ключи будут 0,1,2 и 3и так далее, а затем каждый ключ должен быть разделен на один и тот же узел, чтобы выполнить такую более ключевую обработку с использованием состояния ключа.
Что произошло: я реализовал свою логику с помощью keyBy, поэтому я могу использовать состояние ключа, но оно страдает от большой асимметрии: некоторые узлы не получили записей, а другие получили более одного. Я пытался использовать пользовательское разбиение, оно делало физическое разбиение так, как я хочу, но я не могу использовать состояние ключа с ним без использования keyBy.
Есть ли способ управления перекосом или принудительно распараллеливать ключидоступные узлы? или есть ли способ переписать технику разделения, используемую в keyBy? или есть ли способ использовать состояние ключа с пользовательским разделением?