Entfernen von Leeren Zeichenfolgen aus einer Spark-Dataframe
Versuch, entfernen Sie Zeilen, in denen ein Funke dataframe Spalte enthält leere strings. Ursprünglich val df2 = df1.na.drop()
aber es stellt sich heraus, viele dieser Werte werden kodiert, wie ""
.
Ich bin stecken, mit Funken 1.3.1 und auch nicht setzen auf DSL. (Import spark.implicit_ nicht funktioniert.)
was willst du mit leeren Saiten ? legen Sie die Zeile ?
InformationsquelleAutor mongolol | 2016-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entfernen, die Dinge aus einem dataframe erfordert
filter()
.oder bin ich Missverständnis deiner Frage?
WHERE colName IS NOT NULL
oderWHERE colName IS NOT EMPTY
... denke ich.Oder, mit DataFrames/Datasets
oldDF.filter($"colName" =!= "")
. Vergessen Sie nichtimport org.apache.spark.sql.functions._ import org.apache.spark.sql.types._
InformationsquelleAutor Kristian
Den Fall, dass jemand nicht wollen, zum löschen der Datensätze mit leeren Saiten, aber nur convvert die leeren Saiten auf einen Konstanten Wert.
InformationsquelleAutor Gaurav Khare
Ich bin auch neu zu entfachen, Also ich weiß nicht, ob die unten genannten code komplexer ist oder nicht, aber es funktioniert.
Hier wir erstellen udf, die Umwandlung von leeren Werte auf null.
Nach oben code, den Sie verwenden können, "convertToNull" (funktioniert auch mit Strings) in der select-Klausel, und stellen Sie alle Felder, die null, die leere und als nutzen .na().drop().
Hinweis : Sie können, verwenden Sie das gleiche Konzept in scala.
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-sql-udfs.html
InformationsquelleAutor cody123
Während dieser code kann die Frage beantworten, die Bereitstellung zusätzlicher Rahmen an, wie und/oder warum es das problem behebt, das würde verbessern die Antwort, die langfristigen Wert.
InformationsquelleAutor Akshat Chaturvedi