Мне не удалось найти много информации по этой теме, но, скажем, мы используем dataframe для чтения в паркетном файле, который составляет 10 блоков, естественно создаст 10 разделов. Но когда блок данных читает в файле, чтобы обрабатывать его, не будет ли он обрабатывать большие данные для соотношения разделов, потому что если бы он обрабатывал файл без сжатия, размер блока был бы намного больше, что также увеличивало бы разделы.Spark DataFrames with Parquet and Partitioning
Так что позвольте мне уточнить, сжатый паркет (эти цифры не полностью точны). 1GB Par = 5 Блоки = 5 разделов, которые могут быть декомпрессированы до 5 ГБ, что делает его 25 блоков/25 разделов. Но если вы не переделаете 1GB-файл, вы будете застрять всего на 5 разделов, если оптимально это будет 25 разделов? Или моя логика ошибается.
Имеет смысл перераспределение для увеличения скорости? Или я думаю об этом неправильно. Может кто-нибудь пролить некоторый свет на это?
Предположения:
- 1 Блок = 1 Раздел искру
- 1 Ядро работает на 1 Partition
«обрабатывать намного больше информации» по сравнению с чем? –
Что я имею в виду, так это то, что мы читаем файл паркета с 10 слотами, но когда он несжатый, вы все еще используете 10 разделов в Spark. Должен ли вы перераспределить, потому что несжатый файл, естественно, больше? – theMadKing
добавлены дополнительные разъяснения – theMadKing