spark如何在hive中将表作为hdp3.1中的外部表写入(创建)呢

kxeu7u2r  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(601)

默认值

spark-shell --conf spark.hadoop.metastore.catalog.default=hive
val df:Dataframe = ...
df.write.saveAsTable("db.table")

当它尝试写入内部/托管/事务表时失败(请参阅如何在不使用hdp3.1中的仓库连接器的情况下从spark将表写入hive)。
如何告诉spark不要创建托管表,而是创建外部表?

mu0hgdu0

mu0hgdu01#

目前,在默认情况下禁用事务表似乎是我的最佳选择。
在ambari内部,只需在默认情况下禁用创建事务表的选项就可以解决我的问题。
设置为假两次(tez,llap)

hive.strict.managed.tables = false

并在每个 table property 如果需要(使用事务表)。
作为一种解决方法,使用手动CTA也可以是一种选择。

相关问题