默认
spark-shell --conf spark.hadoop.metastore.catalog.default=hive
val df:Dataframe = ...
df.write.saveAsTable("db.table")
尝试写入内部/托管/事务表时失败(请参见How to write a table to hive from spark without using the warehouse connector in HDP 3.1)。
如何告诉Spark不创建托管表,而是创建外部表?
答案 0 :(得分:0)
就目前而言,默认情况下禁用事务表对我来说似乎是最佳选择。
在Ambari内部,仅禁用默认情况下创建事务表的选项即可解决我的问题。
两次设置为false(tez,lap)
hive.strict.managed.tables = false
,并根据需要在每个table property
中手动启用(以使用事务表)。
作为解决方法,也可以选择使用手动CTAS。