OK, sto scrivendo questa risposta estendendo la risposta di wmky sopra & anche, assumendo che tu abbia configurato mysql per il metastore invece del derby.
select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='<table_name>');
La query precedente offre tutti i valori possibili delle colonne di partizione.
Esempio:
hive> desc clicks_fact;
OK
time timestamp
..
day date
file_date varchar(8)
# Partition Information
# col_name data_type comment
day date
file_date varchar(8)
Time taken: 1.075 seconds, Fetched: 28 row(s)
ho intenzione di recuperare i valori delle colonne di partizione.
mysql> select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='clicks_fact');
+-----------------------------------+
| PART_NAME |
+-----------------------------------+
| day=2016-08-16/file_date=20160816 |
| day=2016-08-17/file_date=20160816 |
....
....
| day=2017-09-09/file_date=20170909 |
| day=2017-09-08/file_date=20170909 |
| day=2017-09-09/file_date=20170910 |
| day=2017-09-10/file_date=20170910 |
+-----------------------------------+
1216 rows in set (0.00 sec)
Restituisce tutte le colonne della partizione.
Nota: JOIN
tavolo DBS
ON DB_ID
quando c'è un DB coinvolti (cioè, quando, più di DB sono stesso nome_tabella)
stesso risultato di CLI. E mostra solo 500 partizioni. Non so da dove viene il numero magico 500. –
Nessuna idea allora. È molto strano Tienici informati se lo risolvi o ne trovi la fonte. GL! Forse ingenuo ma sei sicuro che ci siano più di 500 partizioni? – www
Problema risolto da "set cassandra.connection.sliceSize = 10000;". Forse è l'externsion di una Datastax per Hive. –