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

cdmah0mi  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(345)

我用pyspark写Parquet文件。我想更改该文件的hdfs块大小。我这样设置块大小,但它不起作用:

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

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

nr9pn0ug

nr9pn0ug1#

我也有类似的问题,但我发现了问题所在。它需要一个不是“128m”的数字。因此,这应该有效(至少对我有效!):

block_size = str(1024 * 1024 * 128)
sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)
jrcvhitl

jrcvhitl2#

试着把它穿过去 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

在scala中:

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

相关问题