Spark Hive:临时表在会话中消失

问题描述 投票:0回答:1

我创建了几个临时表,使用

hive.executeUpdate("CREATE TEMPORARY TABLE AS SELECT ...")

在Hive中从Spark.I检查所有的表与

hive.showTables().show()

在会话中,我在后面执行的每个查询之间(都像 INSERT INTO ... SELECT ...),而临时表的丢弃是不可预知的。

这在HiveQL中没有发生。

有人有类似的问题吗?

apache-spark hive hiveql temporary
1个回答
1
投票

通过看到你的api,我认为你使用的是...。 连接器

你必须在你的表前加上databaseschema.table。

或者像这样设置数据库。

hive.setDatabase("default")

然后你的CTAS

hive.executeUpdate("CREATE TEMPORARY TABLE AS SELECT ...")

比如说。

val sql =  s"create temporary table $tmpTableName like $dbName.$tabName "

然后

INSERT INTO ... SELECT ...) 

你想做什么就做什么。

问:在HiveQL中没有发生这种情况。 有人有类似的问题吗?

在Hiveql中,你将使用相同的数据库模式,这就是它工作的原因。

© www.soinside.com 2019 - 2024. All rights reserved.