Подтвердить что ты не робот

Создать временную таблицу в Hive?

Поддерживает ли Hive временные таблицы? Я не могу найти его в документах apache.

4b9b3361

Ответ 1

As of Hive 0.14.0 Благодаря @hwrdprkns для комментариев. Начиная с Hive 0.14.0 существует поддержка временных таблиц https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables
Ссылка на JIRA: https://issues.apache.org/jira/browse/HIVE-7090

Синтаксис CREATE TEMPORARY TABLE TABLE_NAME_HERE (key string, value string)

Pre Hive 0.14.0
Я не думаю, что у Hive временные таблицы такие же, как у SQL Server. Вы можете сделать что-то вроде временных таблиц с Hive, хотя.

Если вы создаете таблицу со схемой, которой нужна ваша временная таблица, затем выполните запрос, заполняющий таблицу, прежде чем запускать запрос, требующий данных, он будет действовать как временная таблица.

Этапы:

  • Создать таблицу
  • Таблица заполнения: INSERT OVERWRITE TABLE temptbl <select_query>
  • Запустить запрос

Когда вы запускаете свой запрос, вы можете использовать temptbl, как и любую другую таблицу. INSERT OVERWRITE будет перезаписывать все данные в таблице, чтобы они были заполнены только данными для этого запуска. Данные сохраняются, поэтому, если вы повторно используете таблицу без повторного заполнения, вы будете использовать данные из любого последнего прогона.

Это может привести к возникновению проблем, если одна и та же таблица будет необходима одновременно, но для разных данных...

Из того, что я смог найти, это единственное решение для "временной" таблицы в Hive прямо сейчас.