2016-06-24 27 views
0

Ich versuche, einen Datenrahmen in SparkR zu transponieren/zu entmutigen. Ich finde keine direkte Methode, die im SparkR-Paket verfügbar ist, um das Unpivoting eines Datenrahmens durchzuführen. Ich bin auch nicht in der Lage, das R-Paket auf einem SparkR-Datenframe zu verwenden, auch nicht nach der Verwendung der includePackage-Methode. Es wäre hilfreich, wenn mir jemand mitteilen könnte, ob es direkte Möglichkeiten gibt, mit SparkR oder anderen Alternativen wie Hive zu deaktivieren.Wie kann ein sparkR-Datenframe entpivot werden?

+0

Haben Sie es geschafft, einen SparkR-Datenrahmen zu deaktivieren? – devlace

Antwort

0

Weder ich bin in der Lage R-Paket auf einem SparkR Datenrahmen

india R Befehle auf Spark-Datenrahmen laufen nicht zu verwenden. Nur Spark-Befehle werden auf Spark DataFrames ausgeführt. Wenn Sie einen R-Befehl auf einem Spark DataFrame ausführen möchten, können Sie ihn sammeln(), um ihn in ein R data.frame zu konvertieren, aber Sie verlieren die Vorteile der verteilten Verarbeitung.

Der Spark DataFrame ist ein ähnliches Konstrukt wie eine Tabelle in einer relationalen Datenbank. Wenn Sie mit Spark-Befehlen auf einem Spark DataFrame arbeiten, behalten Sie die Vorteile der verteilten Verarbeitung im gesamten Cluster bei.

Es ist schwierig, eine solche allgemeine Frage zu beantworten - normalerweise erwarten die Leute in diesem Forum spezifische Beispiele mit Daten und Code. Wenn ich eine relationale Tabelle entpendeln möchte, besteht die einfachste Möglichkeit darin, eine Reihe von Abfragen zu erstellen, wobei jede Abfrage den Zeilenschlüssel plus eine Spalte enthält, die in der Spalte nach nicht-null gefiltert wird. Ich würde dann die multiplen Ergebnisse zu einem neuen DataFrame zusammenführen.

Wenn Sie die R-Syntax bevorzugen, kann diese Vereinigung mit dem Befehl unionAll (x, y) in SparkR durchgeführt werden, der im gesamten Cluster verarbeitet wird (anders als ein R-Befehl in einem data.frame).