Mam tabelę partycjonowaną - z 201 partycjami. Potrzebuję znaleźć najnowszą partycję w tej tabeli i użyć jej do opublikowania moich danych. Kwerenda do wyszukania listy wszystkich partycji to:Jak znaleźć najnowszą partycję w tabeli HIVE
use db;
show partitions table_name;
Potrzebuję zapytania, aby znaleźć najnowsze z tych partycji. Partycje mają format
ingest_date=2016-03-09
Próbowałem użyć max(), który dał mi zły wynik. Nie chcę przechodzić przez cały stół, wykonując
select max(ingest_date) from db.table_name;
Dałoby mi oczekiwanego wyjście .. ale zabić cały sens posiadania partycje w 1 miejscu.
Czy istnieje bardziej wydajne zapytanie, aby uzyskać najnowszą partycję dla tabeli HIve?
Możliwy duplikat [Hive: jak wyświetlić wszystkie partycje tabeli?] (Http://stackoverflow.com/questions/15616290/hive-how-to-show-all-partitions-ofa-a-table) – zero323
Niestety, Hive nie ujawnia metadanych jako wirtualnych tabel - nic takiego jak baza danych "SYS" lub "INFORMATION_SCHEMA". Jedynym skutecznym sposobem wyświetlania partycji tabeli Hive jest użycie ** interfejsu API Metastore java **. Lub, aby odwrócić sposób, w jaki zorganizowane są partycje ** w HDFS ** _ (całkiem proste) _, następnie listę katalogów, mając nadzieję, że HDFS i Metastore są w 100% zsynchronizowane. –
Lub, jeśli możesz wysłać zapytanie bezpośrednio do bazy Metastore * (prawdopodobnie w MySQL lub PostgreSQL) *, przeprowadź inżynierię wsteczną modelu danych i uruchom dowolny kod SQL, który Ci odpowiada. –