方式一:
SavaAsTable
用法:
df.write.mode(SaveMode.Overwrite).insertInto(table)
方式二:
InsertInto
用法:
df.write.mode(SaveMode.Overwrite).saveAsTable(table)
兩種方式主要區別:
SaveAsTable方式,當hive中已經存在目標表,無論SaveMode是append還是overwrite,不需要schema一樣,只要列名存在就行,會根據列名進行匹配覆蓋數據
InsertInto方式,當hive中存在目標表時,無論SaveMode是append還是overwrite,需要當前DF的schema與目標表的schema必須一致