У меня есть текстовый файл в HDFS, который содержит около 10 миллионов записей. Я пытаюсь прочитать файл сделать некоторые преобразования на этих данных. Я пытаюсь равномерно разбить данные на части, прежде чем приступить к их обработке. вот пример кода
var myRDD = sc.textFile("input file location")
myRDD = myRDD.repartition(10000)
и когда я выполняю свои преобразования для этих переразделенных данных, я вижу, что в одном разделе содержится слишком много записей, а в других - очень мало данных. ( изображение дистрибутива )
Так что нагрузка высока только на одного исполнителя
Я тоже пытался и получил тот же результат
myRDD.coalesce(10000, shuffle = true)
есть ли способ равномерно распределить записи по разделам.
Прилагается размер случайного чтения / количество записей для этого конкретного исполнителя
у обведенного круга гораздо больше записей для обработки, чем у других
любая помощь приветствуется, спасибо.