2016-12-06 2 views
-1

Ist die folgende Aussage wahr? Der Sicherungsspeicher (relationale Datenbank, NoSQL, JSON-Dateien), der in Spark verwendet wird, ist nicht sehr relevant, da Spark alle Daten in den Speicher lädt und anschließend Analysen durchführt.Ist der Hintergrundspeicher von Spark wirklich wichtig?

Ich bin zu dieser Schlussfolgerung gekommen, nachdem ich die Spark-, SparkSQL- und GraphX-Dokumentation online unter spark.apache.org gelesen habe. Das allgemeine Muster, das ich sehe, besteht darin, zuerst die Daten zu laden, dann zu definieren, was Sie machen wollen (ML, Graphx, Map) und dann auszuführen. Ist meine Aussage wahr und wenn nicht warum? Vielen Dank.

Antwort

0

Ich glaube, dass der zugrunde liegende Speicher zählt.

Zunächst einmal hat jeder Speicher seine eigenen Schwächen und Vorteile. HDFS beispielsweise ist für Fälle optimiert, in denen große Datenmengen geladen werden müssen (d. H. Hoher Durchsatz). Gleichzeitig ist HBase eine bessere Wahl für Aufgaben mit geringer Latenz. Die Gesamtleistung Ihrer Anwendungsfälle hängt vom Speicher ab.

Abgesehen davon kann Spark SQL einige Filter nach unten schieben. Dies bedeutet, dass die Daten im Speicher vorgefiltert werden können und nur ein relevanter Teil davon an Spark übertragen wird. Dies hat einen dramatischen Einfluss auf die Leistung Ihrer Berechnungen. Zum Beispiel wird Vorfilterung passieren, wenn Sie Elasticsearch, Apache Parkett oder eine Menge anderer Technologien als zugrunde liegenden Speicher verwenden. Im Gegensatz dazu haben Sie diese Funktionalität nicht mit JSON-Dateien.

Verwandte Themen