У меня есть требование создать окончательный фрейм данных после применения условий отображения. Например если у меня есть окончательный кадр данных, как показано ниже
df.show()
+---+---+
|a |b |
+---+---+
|c |2 |
+---+---+
printSchema:
a: string (nullable - true)
b: integer (nullable - true)
, я должен загрузить окончательную таблицу в таблицу Hive с теми же столбцами, но с другой схемой, где некоторые значения столбцов не принимают нулевые значения. Например, если в приведенном выше фрейме данных, если столбец 'a' имеет нулевое значение, он не должен обновлять конкретную строку в таблице кустов. Я использую приведенную ниже команду для записи в таблицу -
df.write.mode(append).format(parquet).saveAsTable(table_name)
Итак, я должен изменить схему перед тем, как приступить к добавлению таблицы ??
schema = StructType([StructField("a", StringType, False), ("b", IntegerType(), True)])
df_updated = spark.createDataFrame(df.rdd, schema)