2016-01-06 7 views
6

Wenn man den Befehl DESCRIBE EXTENDED in einer beliebigen Hive-Tabelle ausführt, zeigt das Ergebnis totalSize- und rawDataSize-Werte nahe dem Ende der Ausgabe an.Was bedeuten die folgenden Felder: 'totalSize' und 'rawDataSize' bedeuten in DESCRIBE EXTENDED Query-Ausgabe in Hive?

Was bedeuten diese Felder?

Ex:

hive > DESCRIBE EXTENDED <TableName> 

Output Results: 

Table(tableName:TablenameXXXXX, dbName:XXxXXX, 
..........  ....................... 
numRows=116429472, totalSize=3835205544, rawDataSize=35040221600}) 

Antwort

6

rawDataSize die Größe der Originaldaten eingestellt ist, wird Totalsize Speichermenge genügt. Es ist für das ORC-Dateiformat anwendbar, da es die Daten komprimiert. TotalSize ist kleiner als rawDataSize.

+0

Reflektiert die totalSize den verwendeten Speicherplatz nur in Bezug auf den verwendeten Datenteil oder enthält er den verwendeten Datenteil und einen nicht verwendeten Teil eines HDFS-Blocks? –

+0

Ist die totalSize ein Vielfaches der HDFS-Blockgröße? –

+0

Es muss nicht mehrere Blockgröße sein. HDFS verschwendet keinen Speicher im letzten Block der Datei. Wenn die Dateigröße 200 MB beträgt und die Blockgröße 128 MB beträgt, hat der erste Block eine Größe von 128 MB und der zweite Block eine Größe von 72 MB. –

1

Die Größe der Daten wird durch zwei Statistiken beschrieben:

  • Totalsize - Ungefähre Größe der Daten auf der Festplatte
  • rawDataSize - Ungefähre Größe der Daten im Speicher

Hive auf MapReduce verwendet Totalsize . Wenn beide verfügbar sind, verwendet Hive on Spark rawDataSize. Aufgrund der Komprimierung und Serialisierung kann ein großer Unterschied zwischen totalSize und rawDataSize für denselben Datensatz auftreten.