Некорректная обнуляемость столбца после сохранения кадра данных pyspark - PullRequest
2 голосов
/ 10 октября 2019

При сохранении фрейма данных pyspark с новым столбцом, добавленным с помощью функции withColumn, обнуляемость изменяется с false на true.

Информация о версии: Python 3.7.3 / Spark2.4.0-cdh6.1.1

>>> l = [('Alice', 1)]
>>> df = spark.createDataFrame(l)
>>> df.printSchema()
root
 |-- _1: string (nullable = true)
 |-- _2: long (nullable = true)

>>> from pyspark.sql.functions import lit
>>> df = df.withColumn('newCol', lit('newVal'))
>>> df.printSchema()
root
 |-- _1: string (nullable = true)
 |-- _2: long (nullable = true)
 |-- newCol: string (nullable = false)

>>> df.write.saveAsTable('default.withcolTest', mode='overwrite')

>>> spark.sql("select * from default.withcolTest").printSchema()
root
 |-- _1: string (nullable = true)
 |-- _2: long (nullable = true)
 |-- newCol: string (nullable = true)

Почему флаг обнуляемого столбца newCol, добавляемый с функцией withColumn, изменяется при сохранении кадра данных?

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