Spark落地到hive表中的两种方式及其区别

Posted s1023

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark落地到hive表中的两种方式及其区别相关的知识,希望对你有一定的参考价值。

方式一:

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必须一致

以上是关于Spark落地到hive表中的两种方式及其区别的主要内容,如果未能解决你的问题,请参考以下文章

【数仓】对比spark-hive的两种分布式计算模式

Sqoop hive导出到mysql[转]

spark利用sparkSQL将数据写入hive两种通用方式实现及比较

spark利用sparkSQL将数据写入hive两种通用方式实现及比较

黑猴子的家:Spark on hive 与 hive on spark 的区别

docker容器实现数据持久化的两种方式及其区别