Я пытаюсь отредактировать конфигурацию размера блока hadoop через оболочку spark, чтобы сгенерированные файлы паркетных деталей имели определенный размер.Я попытался установить несколько переменных следующим образом: -
val blocksize:Int = 1024*1024*1024
sc.hadoopConfiguration.setInt("dfs.blocksize", blocksize) //also tried dfs.block.size
sc.hadoopConfiguration.setInt("parquet.block.size", blocksize)
val df = spark.read.csv("/path/to/testfile3.txt")
df.write.parquet("/path/to/output/")
Тестовый файл - это большой текстовый файл размером почти 3,5 ГБ.Однако независимо от того, какой размер блока я укажу или какой подход я выберу, количество создаваемых файлов деталей и их размеры одинаковы.Для меня возможно изменить количество файлов деталей, сгенерированных с использованием функций перераспределения и объединения, но я должен использовать и подход, который не будет перетасовывать данные во фрейме данных!
У меня также естьпопытался указать
f.write.option ("parquet.block.size", 1048576) .parquet ("/ path / to / output")
Но снеудачно.Может кто-нибудь подсказать, пожалуйста, что я делаю не так?Также есть ли другой подход, который я могу использовать, который может изменить размеры паркетных блоков, записанных в hdfs?