вставка данных из фрейма pySpark в таблицу Hive - PullRequest
0 голосов
/ 13 января 2020

У меня есть требование создать окончательный фрейм данных после применения условий отображения. Например если у меня есть окончательный кадр данных, как показано ниже

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)
...