2017-04-19 108 views
0

我在Hive中有一個表。HDFS數據大小和Hive數據大小的差異

當我運行的命令show tblproperties myTableName,它提供了以下結果:

numFiles  12 
numRows   1688092 
rawDataSize  934923162 
totalSize  936611254 

這意味着rawDataSize is 934.92 MB and totalSize is 936.61 MB

而且,當我跑命令來計算HDFS表位置的數據大小相同的表。

[[email protected] ~]$ hdfs dfs -du -h -s /apps/hive/warehouse/test.db/myTableName 
893.2 M /apps/hive/warehouse/test.db/myTableName 

結果數據大小爲893.2 MB

我看到有同一個表中的命令datasize這裏很大的區別。我想了解爲什麼同一個表中的數據大小有差異並尋找詳細的解釋。

表型 - MANAGED_TABLE

#存儲信息

SerDe Library:   org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe 
InputFormat:   org.apache.hadoop.mapred.TextInputFormat 
OutputFormat:   org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat 
Compressed:    No 
Num Buckets:   -1 
+0

所有這些格式在沒有這樣的問題:d – philantrovert

+0

@philantrovert在提出這個問題之前,我應該做更多的研究。 :PI對於在線轉換器的結果感到困惑,因爲默認情況下它顯示爲十進制,但是對於我來說,有一個結果是我已經知道'rawDataSize'和'totalSize'之間的區別:) –

回答

3

1024分之936611254/ 1024 = 893.2中號

+0

感謝您的澄清,我的不好,我使用在線轉換器來轉換MB的字節,默認情況下它顯示在十進制。實際結果在這裏是二進制的。 –