복붙노트

[HADOOP] pyspark에서 hdfs 블록 크기를 변경하는 방법은 무엇입니까?

HADOOP

pyspark에서 hdfs 블록 크기를 변경하는 방법은 무엇입니까?

저는 나무 마루 파일을 작성하기 위해 pySpark를 사용합니다. 해당 파일의 hdfs 블록 크기를 변경하고 싶습니다. 이렇게 블록 크기를 설정하고 작동하지 않습니다.

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

pySpark 작업을 시작하기 전에이를 설정해야합니까? 그렇다면 그것을하는 방법.

해결법

  1. ==============================

    1.SparkContext를 사용하여 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
    

    스칼라에서 :

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

    2.비슷한 문제가 있었지만 문제점을 파악했습니다. "128m"이 아닌 번호가 필요합니다. 그러므로 이것은 작동해야합니다 (적어도 나를 위해 일했습니다!) :

    비슷한 문제가 있었지만 문제점을 파악했습니다. "128m"이 아닌 번호가 필요합니다. 그러므로 이것은 작동해야합니다 (적어도 나를 위해 일했습니다!) :

    block_size = str(1024 * 1024 * 128)
    sc._jsc.hadoopConfiguration().set("dfs.block.size", block_size)
    
  3. from https://stackoverflow.com/questions/40954825/how-to-change-hdfs-block-size-in-pyspark by cc-by-sa and MIT license