15
A
cevap
25
ikisini de kullanmak yaygın ve önemli olan, beni bunları netleştirmek için yardım edelim!
def join[W](other: RDD[(K, W)]): RDD[(K, (V, W))]
Bu dikkatle bakmak lütfen birleşim prototype
olduğunu. Örneğin, nihai sonuç görünecektir
val rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)
val rdd2 = sc.makeRDD(Array(("A","a"),("C","c"),("D","d")),2)
scala> rdd1.join(rdd2).collect
res0: Array[(String, (String, String))] = Array((A,(1,a)), (C,(3,c)))
Tüm anahtarlar rdd1 ve rdd2 yaygındır. Bu relation database operation INNER JOIN
'a benzer. İki rdds birini görünür en azından bir anahtar, nihai sonuca görüneceği şekilde
Ama cogroup farklı olduğunu
def cogroup[W](other: RDD[(K, W)]): RDD[(K, (Iterable[V], Iterable[W]))]
, bana açıklamak bakalım:
val rdd1 = sc.makeRDD(Array(("A","1"),("B","2"),("C","3")),2)
val rdd2 = sc.makeRDD(Array(("A","a"),("C","c"),("D","d")),2)
scala> var rdd3 = rdd1.cogroup(rdd2).collect
res0: Array[(String, (Iterable[String], Iterable[String]))] = Array(
(B,(CompactBuffer(2),CompactBuffer())),
(D,(CompactBuffer(),CompactBuffer(d))),
(A,(CompactBuffer(1),CompactBuffer(a))),
(C,(CompactBuffer(3),CompactBuffer(c)))
)
Bu, için relation database operation FULL OUTER JOIN
, ancak kayıt başına satır başına sonucu düzleştirmek yerine, için interable interface
verecektir, Aşağıdaki işlem, uygun olarak size kadar olduğunu!
İyi Şanslar!
Kıvılcım dokümanlar geçerli:
İlgili konular
- 1. RDD ve bölüm, Apache Spark
- 2. Apache Ignite ve Apache Spark entegrasyonu, IgniteRDD
- 3. Ne zaman katılmak yerine SQL doğal birleştirme kullanmak ..?
- 4. Apache Spark vs. Apache Storm
- 5. Apache Spark ve Uzak Yöntem Çağrısı
- 6. Foreach katılmak ve laravel içinde seçin
- 7. Apache Maven: Kalıtım, Toplama ve Bağımlılıklar arasındaki fark nedir?
- 8. RPC çerçevesi ve Apache Thrift nedir?
- 9. bir katılmak
- 10. HttpModule ve Global.aspx arasındaki performans farkı nedir?
- 11. Apache Hadoop YARN'de 'mapreduce.map.memory.mb' ve 'mapred.map.child.java.opts' arasındaki ilişki nedir?
- 12. Apache Ambari Server ve Agent arasındaki fark nedir?
- 13. Apache ProxyPass ve Oturumları
- 14. Interceptors ve Apache Camel
- 15. Apache Tika ve Json
- 16. Caddr_t'nin önemi nedir ve ne zaman kullanılır?
- 17. Ne zaman bir takviye iplik koparmak veya katılmak?
- 18. Apache POI SXSSF ve XSSF
- 19. XPathNavigator ve XmlReader arasındaki hız farkı ne kadar büyük?
- 20. LINQ'a katılmak için manuel arama avantajları?
- 21. Tümleştirme JAMES Apache ve Thunderbird
- 22. BigQuery'yi katılmak coalesce
- 23. Apache Spark 2.0: java.lang.UnsupportedOperationException: java.time.LocalDate
- 24. SequelizeJS - Bir katılmak masanın
- 25. Apache Spark ALS önerileri yaklaşımı
- 26. Apache Nutch ve Solr tümleştirmesi
- 27. Scalaz Tip Apache Spark için Sınıflar RDD'ler
- 28. Bir Python str'i proxy yapmak ve işe katılmak mümkün mü?
- 29. Apache Spark içinde Matris Çarpımı
- 30. Neden numpy.zeros ve numpy.zeros_like arasındaki performans farkı?
http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.rdd.PairRDDFunctions Nasıl 'toplamak ı kullandığınızda gibi büyük veri setleri için' cogroup' kullanmak() 'bellek istisna' rdd1 = rdd2.cogroup (rdd3) .collect' dışına atar. Bu konuda yardımcı olabilir misiniz [https://stackoverflow.com/questions/47180307/how-to-use-cogroup-for-large-datasets].Teşekkür ederiz – Vignesh
@Vignesh, toplamak yerine yöntemini kullanın lütfen. – ashburshui
yh, 'al, topla' denediniz, aşağıdaki kodu nasıl değiştireceğinizi biliyorsunuz – Vignesh