Создать временную таблицу в Hive? - PullRequest
22 голосов
/ 22 марта 2011

Поддерживает ли Hive временные таблицы? Я не могу найти это в Apache Docs.

1 Ответ

24 голосов
/ 22 марта 2011

По состоянию на Улей 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)

Предварительный улей 0.14.0
Я не думаю, что Hive имеет временные таблицы так же, как в SQL Server. С помощью Hive вы можете делать что-то вроде временных таблиц.

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

Шаги будут:

  1. Создать таблицу
  2. Заполнить таблицу: INSERT OVERWRITE TABLE temptbl <select_query>
  3. Выполнить запрос

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...