pySpark数据帧数据插入到配置单元表

pySpark数据帧数据插入到配置单元表,pyspark,hive,pyspark-dataframes,Pyspark,Hive,Pyspark Dataframes,我需要在应用映射条件后创建最终的数据帧。 例如,如果我有下面这样的最终数据帧 df.show() +---+---+ |a |b | +---+---+ |c |2 | +---+---+ printSchema: a: string (nullable - true) b: integer (nullable - true) 我必须将最后一个表加载到具有相同列但具有不同模式的配置单元表中,其中一些列值不接受空值。 例如,如果在上述数据框中,如果列“a”有任何空值,则不应更新配

我需要在应用映射条件后创建最终的数据帧。 例如,如果我有下面这样的最终数据帧

df.show()
+---+---+
|a  |b  |
+---+---+
|c  |2  |
+---+---+
printSchema:
  a: string (nullable - true)
  b: integer (nullable - true)
我必须将最后一个表加载到具有相同列但具有不同模式的配置单元表中,其中一些列值不接受空值。 例如,如果在上述数据框中,如果列“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)

您不应该更新配置单元中的行是什么意思?您正在执行追加而不是合并。在将数据帧加载到配置单元表之前,我不希望在数据帧的指定列中有空记录。为什么不在保存数据帧之前对其进行筛选
df=df.filter(df.col\u X.isNotNull())