na.füllen Sie Funken DataFrame Scala

Bin ich mit Spark/Scala, und ich will füllen die Nullen in meinem DataFrame mit default-Werte basierend auf dem Typ der Spalten.

ich.e-Saite Spalten -> "string", " Numeric-Spalten -> 111 -, Boolean-Spalten -> False, etc.

Derzeit die DF.na.Funktionen-API bietet die na.füllen

fill(valueMap: Map[String, Any]) wie

df.na.fill(Map(
    "A" -> "unknown",
    "B" -> 1.0
))

Dies erfordert die Kenntnis der Spalte Namen und auch die Art der Spalten.

ODER

fill(value: String, cols: Seq[String])

Dies ist nur String/Double-Typen, auch nicht Boolean.

Ist es eine intelligente Art und Weise, dies zu tun?

  • Möglicherweise müssen Sie isInstanceOf zu überprüfen die eingehenden Daten geben und ersetzen mit dem korrekten Wert.
  • Bitte ein reproduzierbares Beispiel.
  • Danke für die Hilfe, die ich verwendet Pattern-Matching zu finden, der Typ, der nad eine Karte erstellt, und verwendet es
  • Leider auch Spark v2.2.1 unterstützt nur eine begrenzte Anzahl von Datentypen für DataFrame.na.fill Betrieb. Zitieren docs, "value must be of the following type: Int, Long, Float, Double, String, Boolean."
InformationsquelleAutor Vijeth Hegde | 2016-08-30
Schreibe einen Kommentar