Создать PySpark Nullable Lit Column - PullRequest
       0

Создать PySpark Nullable Lit Column

1 голос
/ 13 января 2020

У меня есть фрейм данных pyspark, в который я хочу добавить новый освещенный столбец, например:

my_dataframe.select(col("col1"), lit("this is data").alias("col2"))

По умолчанию, когда я пишу это в BigQuery, тип освещенного столбца - строка (хорошо), но режим обязателен (плохой). Как я могу написать освещенную колонку и заставить BigQuery думать, что она обнуляема? Мой обходной путь ниже - в поисках более чистого подхода.

my_dataframe.select(col("col1"), when(lit(1) == 1, lit("this is data")).alias("col2"))

1 Ответ

0 голосов
/ 13 января 2020

Вы можете создать новый фрейм данных с другой схемой:

my_dataframe = my_dataframe.select(col("col1"), when(lit(1) == 1, lit("this is data")).alias("col2"))

new_schema = [StructField('col1',StringType(),False), StructField('col2',StringType(),True)]

df2 = sqlContext.createDataFrame(my_dataframe.rdd, StructType(new_schema))

Структурные поля следуют синтаксису: StructField('<COLUMN-NAME', <TYPE> , <NULLABLE? TRUE or FALSE>)

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