Spark Hive: временная таблица исчезает в течение сеанса - PullRequest
0 голосов
/ 30 апреля 2020

Я создаю пару временных таблиц, используя

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

в Hive от Spark. Я проверяю все таблицы с

hive.showTables().show()

в сеансе между каждым запросом, который я выполняю позже (все как INSERT INTO ... SELECT ...), и временные таблицы неожиданно удаляются.

Этого не происходит в HiveQL.

У кого-нибудь были похожие проблемы?

1 Ответ

1 голос
/ 30 апреля 2020

Видя ваш 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 ...) 

что бы вы ни хотели сделать.

Q: Этого не происходит в HiveQL. У кого-нибудь были похожие проблемы?

В hiveql вы будете использовать ту же схему базы данных, поэтому она работает как положено.

...