Есть ли альтернатива для na.replace, в которой типы данных заменяемой строки и замены могут быть разными? - PullRequest
1 голос
/ 11 июля 2019

Я хочу получить нулевые поля от df до моего json и при этом использовал метод na.fill, чтобы заполнить нулевые значения строкой «null», а затем с помощью na.replace заменить «null» -> null, но, к сожалению, типы данных как для заменяемой строки, так и для замены должны быть одинаковыми :( поэтому я ищу какую-либо альтернативу для этого ... какие-либо предложения?


def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder().master("local[*]").appName("app").getOrCreate()
    import spark.implicits._
    val sc = spark.sparkContext

    var df = spark.read.json("/Users/sanyam/ScalaTest/a.json")

    println("----df----")
    df.show(false)

    val json = df.na.fill("null").toJSON

    val json1 = json.na.replace("*",ImmutableMap.of("null", null))

    println("****")
    json1.show(false)

  }

https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/DataFrameNaFunctions.html#replace

явное значение null не допускается в качестве замены строки ("null") в na.replace

...