我使用pySpark来编写镶木地板文件。我想更改该文件的hdfs块大小。我像这样设置块大小,它不起作用:
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
在开始pySpark作业之前是否必须设置此项?如果是这样,该怎么做。
答案 0 :(得分:1)
尝试使用 SparkContext
设置sc._jsc.hadoopConfiguration()
from pyspark import SparkConf, SparkContext
conf = (SparkConf().setMaster("yarn"))
sc = SparkContext(conf = conf)
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
txt = sc.parallelize(("Hello", "world", "!"))
txt.saveAsTextFile("hdfs/output/path") #saving output with 128MB block size
Scala中的:
sc.hadoopConfiguration.set("dfs.block.size", "128m")
答案 1 :(得分:0)
我有一个类似的问题,但我发现了问题。它需要的数字不是&#34; 128m&#34;。因此,这应该工作(至少为我工作!):</ p>
block_size = str(1024 * 1024 * 128)
sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)