如何在pyspark中更改hdfs块大小?

时间:2016-12-04 02:46:34

标签: hadoop apache-spark hdfs pyspark apache-spark-1.6

我使用pySpark来编写镶木地板文件。我想更改该文件的hdfs块大小。我像这样设置块大小,它不起作用:

sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")

在开始pySpark作业之前是否必须设置此项?如果是这样,该怎么做。

2 个答案:

答案 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)