önbelleğe:Kıvılcım Caching: RDD sadece% 8'i aşağıda benim kod parçacığı için
val levelsFile = sc.textFile(levelsFilePath)
val levelsSplitedFile = levelsFile.map(line => line.split(fileDelimiter, -1))
val levelPairRddtemp = levelsSplitedFile
.filter(linearr => (linearr(pogIndex).length!=0))
.map(linearr => (linearr(pogIndex).toLong, levelsIndexes.map(x => linearr(x))
.filter(value => (!value.equalsIgnoreCase("") && !value.equalsIgnoreCase(" ") && !value.equalsIgnoreCase("null")))))
.mapValues(value => value.mkString(","))
.partitionBy(new HashPartitioner(24))
.persist(StorageLevel.MEMORY_ONLY_SER)
levelPairRddtemp.count // just to trigger rdd creation
Bilgi
- dosyanın boyutu ~ Ben 2
executors
kullanıyorum 4G - olduğunu (5G her biri) ve 12 çekirdek.
Spark
sürümü: BenStorage tab
içindeSparkUI
baktığımızda 1.5.2
Sorun
, görüyorum nedir:
RDD
içine baktığımızda, 24 partitions
'un yalnızca 2'si önbelleğe alınmış gibi görünüyor.
Herhangi bu davranışa açıklama ve nasıl bu sorunu gidermek için.
DÜZENLEME 1: Ben tıpkı HashPartitioner
60 bölümleri ile çalıştı:
..
.partitionBy(new HashPartitioner(60))
..
Ve çalıştı. Şimdi tüm RDD
önbelleğe aldım. Tahmin et, burada ne olmuş olabilir? Veri çarpıklığı bu davranışa neden olabilir mi?
Düzenleme-2: Ben 24 partitions
ile tekrar çalıştırdığınızda BlockManagerInfo
olan günlükler. 24/03 partitions
önbelleğe Bu sefer:
16/03/17 14:15:28 INFO BlockManagerInfo: Added rdd_294_14 in memory on ip-10-1-34-66.ec2.internal:47526 (size: 107.3 MB, free: 2.6 GB)
16/03/17 14:15:30 INFO BlockManagerInfo: Added rdd_294_17 in memory on ip-10-1-34-65.ec2.internal:57300 (size: 107.3 MB, free: 2.6 GB)
16/03/17 14:15:30 INFO BlockManagerInfo: Added rdd_294_21 in memory on ip-10-1-34-65.ec2.internal:57300 (size: 107.4 MB, free: 2.5 GB)
Tüm iş bitmeden ekran görüntüsünü almanız mümkün olabilir ve sadece güncellenemedi mi? Günlük dosyalarınız varsa, 'BlockManagerMasterActor' içeren satırları arayabilir misiniz? Aksi takdirde bir hata demektir ... –
Mine, 5 dakikalık bir çevrim ömrü olan bir akış işi. 15 dakika bekledim. – Mohitt
"BlockManagerMaster" dan birkaç günlük aldım, ancak sadece INFO olarak, hata yok. BlockManagerMasterActor' – Mohitt