In Java Spark konnte ich entweder keyBy() oder mapToPair() verwenden, um einen Schlüssel für eine JavaRDD zu erstellen. Die Verwendung von keyBy() macht meine Absichten klarer und verwendet eine Argumentfunktion mit etwas weniger Code (die Funktion gibt einen Schlüssel und kein Tupel zurück). Gibt es jedoch eine Leistungsverbesserung bei der Verwendung von keyBy() gegenüber mapToPair()?Spark: keyBy() vs mapToPair()
Dank
1
A
Antwort
3
Sie können den Unterschied in der Quelle sehen:
def mapToPair[K2, V2](f: PairFunction[T, K2, V2]): JavaPairRDD[K2, V2] = {
def cm: ClassTag[(K2, V2)] = implicitly[ClassTag[(K2, V2)]]
new JavaPairRDD(rdd.map[(K2, V2)](f)(cm))(fakeClassTag[K2], fakeClassTag[V2])
}
Und:
def keyBy[U](f: JFunction[T, U]): JavaPairRDD[U, T] = {
implicit val ctag: ClassTag[U] = fakeClassTag
JavaPairRDD.fromRDD(rdd.keyBy(f))
}
Welche Anrufe:
def keyBy[K](f: T => K): RDD[(K, T)] = withScope {
val cleanedF = sc.clean(f)
map(x => (cleanedF(x), x))
}
Sie im Grunde beide Anruf map
und erzeugen eine neue RDD
. Ich sehe keine signifikanten Unterschiede zwischen den beiden.
Verwandte Themen
- 1. Spark-Streaming: Objekt als Schlüssel in 'mapToPair' mit
- 2. DefaultMutableTreeNode Wert als Standard festgelegt, wenn es Spark MapToPair verwendet
- 3. Abfragegenerator - wie paginate und keyBy verketten?
- 4. Spark DataFrame vs sqlContext
- 5. Spark toDS vs DF
- 6. spark createOrReplaceTempView vs createGlobalTempView
- 7. Apache Drill vs Spark
- 8. Spark SQL vs HIVE auf Spark
- 9. KMeans mit Spark 1.6.2 VS Spark 2.0.0
- 10. Apache Spark vs Apache Spark 2
- 11. Spark GraphX Spark-Shell vs Spark-Submit Leistungsunterschiede
- 12. Spark-Streaming Bearbeitungszeit vs Gesamtverzögerung vs Verarbeitungsverzögerung
- 13. Funken: Wie RDD.map/mapToPair Arbeit mit Java
- 14. Scala Spark enthält vs. enthält
- 15. Spark DataFrames: registerTempTable vs nicht
- 16. Spark Datenrahmen SaveAsTable vs Speichern
- 17. Apache Spark vs Apache Storm
- 18. Spark-Funktionen vs UDF-Leistung?
- 19. scala vs java für Spark?
- 20. Apache Phoenix vs Hive-Spark
- 21. Spark 2.0 Dataset vs Dataframe
- 22. SparkContext.addFile vs Spark-Submit - Dateien
- 23. Spark DStream.transform(). ForeachRDD() vs DStream.foreachRDD()
- 24. Verarbeitung Hive Lookup-Tabellen in Spark-vs Spark-Broadcast-Variablen
- 25. Spark DAG Anzahl der Stufen
- 26. Spark RDD dynamischen Schlüssel Generator
- 27. Spark Custom Partioner vs SortByKey-Funktionalität
- 28. Apache Spark Streaming vs Spring XD Streams
- 29. Spark läuft auf EC2 vs EMR
- 30. Spark-Streaming: Batch-Intervall vs Fenster