私は、寄木張りファイルを書くためにpySparkを使用します。私は、そのファイルのhdfsブロックサイズを変更したいと思います。私はこのようなブロックサイズを設定し、それは動作しません:pysparkでhdfsブロックサイズを変更するには?
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
これはpySparkジョブを開始する前に設定する必要がありますか?もしそうなら、それを行う方法。
私は、寄木張りファイルを書くためにpySparkを使用します。私は、そのファイルのhdfsブロックサイズを変更したいと思います。私はこのようなブロックサイズを設定し、それは動作しません:pysparkでhdfsブロックサイズを変更するには?
sc._jsc.hadoopConfiguration().set("dfs.block.size", "128m")
これはpySparkジョブを開始する前に設定する必要がありますか?もしそうなら、それを行う方法。
はSparkContext Scalaでは
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._jsc.hadoopConfiguration()
を通してそれを設定してみてください:
sc.hadoopConfiguration.set("dfs.block.size", "128m")
動作していません。私はpysparkバージョン1.6.2を使用しています。 –
pls更新を確認する – mrsrinivas
私は似問題があったが、私はこの問題を考え出しました。それは "128m"ではない番号が必要です。したがって、これは動作し(少なくとも私のために働いた!)する必要があります
block_size = str(1024 * 1024 * 128)
sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)
こんにちは、以下の回答のいずれかがあなたの問題を解決した場合(http://meta.stackexchange.com/q/5234/ [受諾]をご検討ください179419)ベストアンサーか独自のソリューションを追加してください。それで、あなたが解決策を見つけたことをより広範なコミュニティに示すということです。 – mrsrinivas
私はあなたがそれを変更することができるかどうかはわかりませんが、これはファイルがHDFSに書き込まれる方法です。 Sparkは、ファイルパーティションごとのタスク(マッパーの種類)を割り当てます。なぜ多くの人々がスパークのために256mのブロックを持つことをお勧めします。 –