2014-10-14 22 views
16

Apache Spark'de bölümlemenin nasıl yapıldığını anlamaya çalışıyorum. Yardımcı olabilir misiniz lütfen?Bölümleme Spark'de nasıl çalışır?

  • bir ana ve 1 çekirdek her
  • bir dosya

boyutunda içinde count.txt 10 MB ile iki düğüm kaç bölümleri oluşturmak aşağıdaki vermez: Burada

senaryodur?

rdd = sc.textFile(count.txt) 

Dosyanın boyutunun bölümlerin sayısı üzerinde herhangi bir etkisi var mı?

+0

Neden cevabı kabul/yorum yapmadan bıraktın? – gsamaras

cevap

21

Varsayılan olarak, her HDFS bölümü için varsayılan olarak 64MB olan (Spark Programming Guide) bir bölüm oluşturulur.

defaultMinPartitions numaralı başka bir parametreyi, kıvılcım oluşturacak minimum bölüm sayısını geçersiz kılan bir başka parametre geçmek mümkündür. Bu değeri geçersiz kılmazsanız, kıvılcım en az spark.default.parallelism bölümleri oluşturacaktır.

spark.default.parallelism, kümenizdeki tüm makinelerdeki çekirdek sayısı olması nedeniyle, sizin durumunuzda en az 3 bölümün oluşturulacağına inanıyorum.

Ayrıca, kullanılabilir paralelliğin toplam miktarını etkileyen bölümlerin sayısını değiştirmek için repartition veya coalesce numaralı bir RDD'yi de kullanabilirsiniz.

+2

@jacek "default.parallelism" (3 bölüm oluşturuldu) ve veri dosyası 10 MB (HDFS üzerinde tek blok) durumunda, Spark bölümleri ne kadar veri içerecek? Olacak: ** 1. 3 eşit parçaya bölünmüş (her biri 3,3 MB) ve idarecilere gönderilmiştir. ** _2. Bölünmüş değil (P1 = 10MB, P2 = P3 = 0 MB) ve Veri Noktası nedeniyle** 3 aynı düğümde yürütülür. 3 bölümün tümünde rastgele veri karışıklığı. ** –

+1

@mrmcgrep, Bir karışıklık var, ilk ifadede varsayılan olarak her bir HDFS bloğu için bir bölüm oluşturulacak ve sonra 3 'defaultMinPartitions'ı geçersiz kılarsa, en azından kümelenme boyunca çekirdek sayısı olacağı düşünülen 'spark.default.parallelism' gibi en az sayıda bölüm oluşturur. Yani 'bölüm = HDFS bölümü' veya '= çekirdek sayısı' yaratacak mı? – Explorer

+0

@LiveAndLetLive Bunların hepsinin minimum olduğuna inanıyorum. Üç değerin en küçüğü kadar en az sayıda bölümünüz olacak. – mrmcgreg

İlgili konular