Ich versuche, meine Eingabedaten zu übernehmen:Funke: Spalte Datenrahmen hinzufügen bedingt
A B C
--------------
4 blah 2
2 3
56 foo 3
Und eine Spalte am Ende hinzufügen, basierend darauf, ob B leer ist oder nicht:
A B C D
--------------------
4 blah 2 1
2 3 0
56 foo 3 1
I kann dies leicht tun, indem Sie den Eingabedatenrahmen als temporäre Tabelle registrieren und dann eine SQL-Abfrage eingeben.
Aber ich würde gerne wissen, wie man das nur mit Scala-Methoden macht und keine SQL-Abfrage in Scala eingeben muss.
Ich habe versucht .withColumn
, aber ich kann das nicht tun, was ich will.
Dies ist genau das, was ich gesucht habe. Ich habe ein paar verschiedene Dinge mit "wann" und "anders" ausprobiert, aber ich denke, ich habe das genaue Format falsch verstanden. Etwas abseits von Thema, aber wissen Sie, wie Spark mit Column behandelt? Wie wäre es, wenn ich ~ 20 Spalten hinzufüge, wäre es schneller, 20 .withColumn zu machen und einen Datenrahmen zu behalten oder ihn einer RDD zuzuordnen und sie einfach alle in die Map einzufügen, dann zurück in einen Datenrahmen zu konvertieren, um auf Parkett zu speichern ? – mcmcmc
Nur gefunden [http://stackoverflow.com/questions/33826495/spark-scala-2-10-tuple-limit]. Ich denke, UDFs sind, was ich suche. – mcmcmc
UDFs ist, worüber ich unten auch gesprochen habe ... –