我用pyspark写Parquet文件。我想更改该文件的hdfs块大小。我这样设置块大小,但它不起作用:
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
在开始pyspark作业之前是否必须设置此项?如果是,怎么做。
nr9pn0ug1#
我也有类似的问题,但我发现了问题所在。它需要一个不是“128m”的数字。因此,这应该有效(至少对我有效!):
block_size = str(1024 * 1024 * 128) sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)
jrcvhitl2#
试着把它穿过去 sc._jsc.hadoopConfiguration() 带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")
2条答案
按热度按时间nr9pn0ug1#
我也有类似的问题,但我发现了问题所在。它需要一个不是“128m”的数字。因此,这应该有效(至少对我有效!):
jrcvhitl2#
试着把它穿过去
sc._jsc.hadoopConfiguration()
带sparkcontext在scala中: