2011-03-21 16 views

Odpowiedz

22

Od Ula 0.14.0 Dzięki @hwrdprkns za komentowanie. Jak ula 0.14.0 jest wsparcie dla tabel tymczasowych https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables
Link do JIRA: https://issues.apache.org/jira/browse/HIVE-7090

Składnia jest CREATE TEMPORARY TABLE TABLE_NAME_HERE (key string, value string)

Pre Hive 0.14.0
Nie sądzę Hive ma tymczasowy tabele takie same, jak robi to program SQL Server. Możesz zrobić coś w rodzaju tymczasowych tabel z Hive.

Jeśli utworzysz tabelę ze schematem, którego potrzebuje twoja tabela tymczasowa, wykonaj zapytanie wypełniające tabelę, zanim uruchomisz kwerendę wymagającą danych, będzie ona działać jak tabela tymczasowa.

Kroki byłoby:

  1. Utwórz tabelę
  2. wypełnienia tabeli: INSERT OVERWRITE TABLE temptbl <select_query>
  3. Run zapytania

Po uruchomieniu zapytanie można użyć temptbl jak każdy inny tabeli. INSERT OVERWRITE spowoduje nadpisanie wszystkich danych w tabeli, więc zostaną wypełnione tylko dane dla tego uruchomienia. Dane nadal występują, więc jeśli ponownie użyjesz tabeli bez ponownego jej wypełniania, będziesz używał danych z ostatniego uruchomienia.

Może to z pewnością napotkasz problemów jeśli ten sam stół będą potrzebne w tym samym czasie, ale dla innych danych ...

Z tego co udało mi się znaleźć, to jedynym rozwiązaniem a ' tymczasowy stolik w Hive już teraz.

+1

Dzięki. Tak, to jedyne rozwiązanie, które również znalazłem. Miałem tylko nadzieję, że będzie wsparcie dla tabeli, która jest automatycznie usuwana po zakończeniu danej sesji. – CMaury

+1

Chciałbym tylko zaznaczyć, że ul został zaktualizowany do obsługi tabel tymczasowych: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables! – hwrdprkns

Powiązane problemy