Apache Spark'in sahne arkasında nasıl çalıştığını anlamaya çalışıyorum. Spark'de biraz kodladıktan sonra, RDD
'u RMI Uzak nesneler olarak uyguladığından emin değilim, değil mi? Bu şekilde, map
s, flatMap
s, vb. Gibi dönüşümler içinde bunları değiştirebilir. Bir RDD
'un parçası olmayan nesne yalnızca serileştirilir ve yürütme sırasında bir işçiye gönderilir. dize toFind
sadece tefrika ve işçilere kopyalanmış olacaktır Aşağıdaki örnekte Apache Spark ve Uzak Yöntem Çağrısı
lines
ve
tokens
,
uzak nesnelere olarak ele alınacaktır.
val lines: RDD[String] = sc.textFile("large_file.txt")
val toFind = "Some cool string"
val tokens =
lines.flatMap(_ split " ")
.filter(_.contains(toFind))
Yanlış mıyım? Ben biraz googled ama Spark RDD
dahili olarak nasıl uygulandığıyla ilgili herhangi bir referans bulunamadı.
[Scala's RDD] kaynak kodunu kontrol edebilirsiniz (https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/RDD.scala) . –
@AlbertoBonsanto, haklısınız. Ama 'RDD.scala' dosyası 1800'den fazla sloka sahiptir :) –