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

时间:2020-04-30 09:42:28

标签: apache-spark hive hiveql temporary

我使用创建两个临时表

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

来自Spark的Hive。 我用

检查所有表
hive.showTables().show()

在我稍后执行的每个查询之间的会话中(都像INSERT INTO ... SELECT ...)和临时表被意外删除。

在HiveQL中不会发生这种情况。

有人有类似的问题吗?

1 个答案:

答案 0 :(得分:1)

通过查看您的api,我认为您正在使用连接器

您必须在表的所有位置都添加databasechema.table。

或这样设置数据库。

IntegrationFlow

然后输入您的CTAS

hive.setDatabase("default")

例如:

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

然后

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

你想做什么。

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

在hiveql中,您将使用相同的数据库架构,这就是其按预期工作的原因。