Scala 通过spark shell进行Hadoop配置设置似乎没有效果
我试图通过spark shell编辑hadoop块大小配置,以便生成的拼花地板零件文件具有特定的大小。我尝试过这样设置几个变量:-Scala 通过spark shell进行Hadoop配置设置似乎没有效果,scala,apache-spark,hadoop,parquet,apache-spark-2.2,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 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的拼花地板块大小