hadoop通过sparkshell的配置设置似乎没有效果

i34xakig  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(266)

我试图通过sparkshell编辑hadoop块大小配置,以便生成的Parquet部件文件具有特定的大小。我试着这样设置几个变量:-

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.5gb的大文本文件。但是,无论我指定什么块大小或采用什么方法,创建的零件文件的数量和大小都是相同的。我可以更改使用重分区和合并函数生成的零件文件的数量,但我必须使用不会以任何方式洗牌Dataframe中数据的方法!
我也试过具体说明
f、 write.option(“parquet.block.size”,1048576).parquet(“/path/to/output”)
但是运气不好。有人能强调一下我做错了什么吗?还有没有其他方法,我可以使用,可以改变Parquet地板块大小写进hdfs?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题