Dataframe withColumn и null - PullRequest
       0

Dataframe withColumn и null

0 голосов
/ 23 декабря 2018

У меня есть простой код, который использует DataFrame.withColumn

  test("SparkSQLTest") {
    val spark = SparkSession.builder().master("local").appName("SparkSQLTest").getOrCreate()
    import spark.implicits._
    var df = spark.createDataset(
      Seq(
        ("1", "2"),
        ("3", "4")
      )
    ).toDF("a", "b")
    df = df.withColumn("c", functions.lit(null.asInstanceOf[String]).as[String])
    df.printSchema()
    df.show(truncate = false)
  }

Схема вывода:

root
 |-- a: string (nullable = true, metadata = {})
 |-- b: string (nullable = true, metadata = {})
 |-- c: null (nullable = true, metadata = {})

c тип столбца нулевой, я думал, что это строка.Если бы это было null, то я не могу записать в csv, так как нулевой тип данных не поддерживается.

Я бы спросил, как сделать тип c правильным.

1 Ответ

0 голосов
/ 23 декабря 2018

Я пробовал это, и оно работает.

df = df.withColumn("c", functions.lit(null.asInstanceOf[String]).cast(StringType))

Извините, это должно быть приведено ... Я изменил его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...