Verileri toplamak için bir Spark işi çalıştırıyorum. Temel olarak bir mutable.HashMap[Zone, Double]
içeren bir Profil adı verilen özel bir veri yapısına sahibim.'spark.driver.maxResultSize' kapsamı
org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 116318 tasks (1024.0 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
bariz çözüm artırmak için geçerli:
def merge = (up1: Profile, up2: Profile) => { up1.addWeights(up2); up1}
val aggregated = dailyProfiles
.aggregateByKey(new Profile(), 3200)(merge, merge).cache()
İlginçtir ki, Kıvılcım aşağıdaki hata nedeniyle başarısız: Aşağıdaki kod ile, belirli bir tuşa (bir UUID) paylaşan tüm profilleri birleştirmek istediğiniz "spark.driver.maxResultSize", ama iki şey beni şaşırtıyor. Ben 1024,0 büyük
- . (
take()
veyacollect()
deyin), ancak sürücüye HERHANGİ BİR ŞEY veriyorum, sadece HDFS'den okuma, bir araya getirme, HDFS'ye geri kaydetme.
Bu hatayı neden aldığımı bilen var mı?
sen benim cevap doğrulayabildi? – mrsrinivas
Bunu size tavsiye edeceğim, fakat ne yazık ki artık bu koda (veya şirkete) erişimim yok ve cevabınız # 2'yi çözüyor, yani işlem ilk sırada olmamalıdır: -S –