Mam jedno pytanie, podczas tworzenia aplikacji iskrzenia. W interfejsie API Sparka, jaka jest różnica między funkcjami makeRDD
a funkcją parallelize
?W interfejsie API Sparka, Jaka jest różnica między funkcjami makeRDD a funkcją parallelize?
Odpowiedz
Nie ma żadnej różnicy. Zacytować makeRDD doctring:
Ta metoda jest identyczna
parallelize
.
i jeśli spojrzeć na realizację to po prostu wywołuje parallelize
:
def makeRDD[T: ClassTag](
seq: Seq[T],
numSlices: Int = defaultParallelism): RDD[T] = withScope {
parallelize(seq, numSlices)
}
Pod koniec dnia jest to kwestia gustu. Należy wziąć pod uwagę, że wydaje się, że makeRDD
jest specyficzne dla API Scala. PySpark i wewnętrzny interfejs API SparkR zapewniają tylko parallelize
.
Uwaga: Jest to druga realizacja makeRDD
który pozwala ustawić preferencje lokalizacji, ale biorąc pod uwagę inny podpis nie jest wymienny z parallelize
.
Jak zauważył @ zero323, makeRDD ma 2 implementacje. Jedna jest identyczna z równoległością. other to bardzo przydatny sposób wprowadzania lokalizacji danych do aplikacji Spark, nawet jeśli nie korzystasz z HDFS.
Na przykład udostępnia lokalizację danych, gdy dane są już rozprowadzane na dysku w klastrze Spark zgodnie z pewną logiką biznesową. Załóżmy, że Twoim celem jest stworzenie RDD, które będzie ładować dane z dysku i przekształcać je za pomocą funkcji, i chciałbyś to zrobić, uruchamiając lokalnie dane tak bardzo, jak to możliwe.
Aby to zrobić, możesz użyć makeRDD, aby utworzyć puste RDD z różnymi preferencjami lokalizacji przypisanymi do każdej z partycji RDD. Każda partycja może być odpowiedzialna za ładowanie twoich danych. Dopóki wypełniasz partycje ścieżką do lokalnych danych o partycjach, wykonywanie kolejnych transformacji będzie lokalnymi węzłami.
Seq<Tuple2<Integer, Seq<String>>> rddElemSeq =
JavaConversions.asScalaBuffer(rddElemList).toSeq();
RDD<Integer> rdd = sparkContext.makeRDD(rddElemSeq, ct);
JavaRDD<Integer> javaRDD = JavaRDD.fromRDD(rdd, ct);
JavaRDD<List<String>> keyRdd = javaRDD.map(myFunction);
JavaRDD<myData> myDataRdd = keyRdd.map(loadMyData);
W tym fragmencie, rddElemSeq
zawiera preferencje lokalizacji dla każdej partycji (adres IP). Każda partycja ma także Integer
, który działa jak klucz. Moja funkcja myFunction
pochłania ten klucz i może zostać wykorzystana do wygenerowania listy ścieżek do moich danych lokalnych do tej partycji. Następnie dane mogą być załadowane w następnej linii.
- 1. Jaka jest różnica między funkcjami a zamknięciami?
- 2. RSpec: Jaka jest różnica między funkcją a specyfikacją żądania?
- 3. Jaka jest różnica między alertem a window.alert?
- 4. Jaka jest różnica między functools.wraps a update_wrapper
- 5. Jaka jest różnica między funkcją i funkcji
- 6. Jaka jest praktyczna różnica między funkcją statyczną a funkcją z "ukrytym" atrybutem widoczności?
- 7. Jaka jest różnica między trasą a zasobem w nowym interfejsie API routera?
- 8. CUDA matematyka API: różnica między funkcjami a samoistnością
- 9. Jaka jest różnica między funkcjami w Karaf i OBR
- 10. Jaka jest różnica między == a === w Verilog?
- 11. Jaka jest różnica między funkcjami RANK() i DENSE_RANK() w Oracle?
- 12. Jaka jest różnica między funkcjami json.load() i json.loads() w Pythonie?
- 13. Jaka jest różnica między funkcjami spłaszczania i ravel w numpy?
- 14. Różnica między funkcją rbegin a funkcją końca w bibliotece standardowej
- 15. Jaka jest różnica między tymi funkcjami utworzonymi przez funkcję "Function"?
- 16. Jaka jest różnica między $ a a $$ a w php?
- 17. dplyr: jaka jest różnica między funkcjami group_by i group_by_?
- 18. Jaka jest różnica między funkcjami VarIsEmpty i VarIsEmptyParam
- 19. Jaka jest różnica między funkcjami porównywania ciągów znaków Delphi?
- 20. Jaka jest różnica między Ember.computed.alias a Ember.binding?
- 21. Jaka jest różnica między pakietem a intencją?
- 22. Jaka jest różnica między krotką a kompresją?
- 23. Jaka jest różnica między uchwytem a wątkiem?
- 24. Jaka jest różnica między cancelBubble a stopPropagation?
- 25. Jaka jest różnica między HAVING a WHERE?
- 26. Jaka jest różnica między użytkownikiem a rolą?
- 27. Jaka jest różnica między StudlyCaps a CamelCase?
- 28. Jaka jest różnica między Const a Constant?
- 29. Jaka jest różnica między @Inject a @PersistenceContext?
- 30. Jaka jest różnica między preferredLocalization a preferredLanguage?