我使用 pySpark 编写镶木地板文件。我想更改该文件的 hdfs 块大小。我这样设置块大小,但它不起作用:
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
是否必须在开始 pySpark 作业之前设置?如果是这样,该怎么做。
我使用 pySpark 编写镶木地板文件。我想更改该文件的 hdfs 块大小。我这样设置块大小,但它不起作用:
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
是否必须在开始 pySpark 作业之前设置?如果是这样,该怎么做。
尝试sc._jsc.hadoopConfiguration()
使用SparkContext进行设置
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
在斯卡拉:
sc.hadoopConfiguration.set("dfs.block.size", "128m")
我有一个类似的问题,但我发现了这个问题。它需要一个数字而不是“128m”。因此这应该有效(至少对我有用!):
block_size = str(1024 * 1024 * 128)
sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)