通过spark-shell的Hadoop配置设置似乎没有任何效果

时间:2018-06-07 21:06:14

标签: scala apache-spark hadoop parquet apache-spark-2.2

我试图通过spark shell编辑hadoop块大小配置,以便生成的镶木地板部件文件具有特定的大小。我尝试用这种方式设置几个变量: -

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 GB的大文本文件。但是,无论我指定什么块大小或我采用的方法,创建的零件文件的数量和它们的大小都是相同的。我可以更改使用重新分区和合并函数生成的零件文件的数量,但我必须使用和接近不会以任何方式改变数据框中的数据!

我也尝试过指定

  

f.write.option(" parquet.block.size",1048576).parquet(" / path / to / output")

但没有运气。有人可以强调我做错了吗?还有什么其他方法我可以使用,可以改变写入hdfs的拼花块大小?

0 个答案:

没有答案