web-dev-qa-db-de.com

Hive-Abfrage zum schnellen Auffinden der Tabellengröße (Anzahl der Zeilen)

Gibt es eine Hive-Abfrage zum schnellen Auffinden der Tabellengröße (d. H. Anzahl der Zeilen), ohne einen zeitaufwändigen MapReduce-Job zu starten? (Deshalb möchte ich COUNT(*) vermeiden.)

Ich habe versucht DESCRIBE EXTENDED, aber das ergab numRows=0, was offensichtlich nicht korrekt ist.

(Entschuldigung für die Newb-Frage. Ich habe Googling ausprobiert und die Apache.org-Dokumentation ohne Erfolg durchsucht.)

26
xenocyon

tblproperties gibt die Größe der Tabelle an und kann bei Bedarf nur zum Abrufen dieses Werts verwendet werden.

-- gives all properties
show tblproperties yourTableName

-- show just the raw data size
show tblproperties yourTableName("rawDataSize")
31
Jared

Hier ist der schnelle Befehl

ANALYZE TABLE tablename [PARTITION(partcol1[=val1], partcol2[=val2], ...)] COMPUTE STATISTICS [noscan];

Zum Beispiel, wenn die Tabelle partitioniert ist

 Hive> ANALYZE TABLE ops_bc_log PARTITION(day) COMPUTE STATISTICS noscan;

ausgabe ist 

Partition logdata.ops_bc_log {day = 20140523} stats: [numFiles = 37, numRows = 26095186, totalSize = 654249957, rawDataSize = 58080809507]

Partition logdata.ops_bc_log {day = 20140521} stats: [numFiles = 30, numRows = 21363807, totalSize = 564014889, rawDataSize = 47556570705]

Partition logdata.ops_bc_log {day = 20140524} stats: [numFiles = 35, numRows = 25210367, totalSize = 631424507, rawDataSize = 56083164109]

Partition logdata.ops_bc_log {day = 20140522} stats: [numFiles = 37, numRows = 26295075, totalSize = 657113440, rawDataSize = 58496087068]

OK

Dauer: 5,252 Sekunden

25
minhas23

Wie wäre es mit:

    hdfs dfs -du -s -h /path/to/table/name
8
user2720864

lösung, wenn auch nicht schnell
Wenn die Tabelle partitioniert ist, können wir die Anzahl der Partitionen und die Anzahl (Anzahl der Zeilen) in jeder Partition zählen.
Zum Beispiel: wenn Partitionierung nach Datum (mm-tt-jjjj)

select partition_date, count(*) from <table_name> where <partion_column_name> >= '05-14-2018' group by <partion_column_name>
0
src3369