2014-09-28 45 views
0

我們有兩臺服務器的Haddop/Hive集羣,每臺服務器上Hive數據庫使用〜160GB磁盤空間,但Hadoop數據目錄爲〜850GB。典型的Hive和Hadoop磁盤Spaware使用情況

這是正常的,Hive數據庫大小與Hadoop數據目錄大小之間的典型比例是多少?

+0

您是否在配置單元中創建了內部表或外部表?如果發生混淆,請參考http://stackoverflow.com/questions/17038414/difference-between-hive-internal-tables-and-external-tables – 2014-09-29 05:43:08

回答

2

這完全取決於您要存儲的數據類型。您在Hive數據庫中存儲的數據實際上只是hadoop數據目錄的一部分。如果你只在Hadoop中存儲Hive表的數據,那麼這個比例將是1:1。

Hive數據庫大小與Hadoop數據目錄大小之間沒有這種關係。 HDFS是一個超級集合,其中包含Hive數據庫的所有數據都被存儲。

+0

在Mindaugus Case/dfs/dn /吃最多的空間。而.db文件只有150GB大。我們可以使/ dfs/dn更小嗎?是否存儲相同的信息? – Ploetzeneder 2014-09-29 05:43:36

2

/dfs/dn是指數據節點的大小,即HDFS的大小。這包括hive表佔用的空間以及hdfs中的其他內容。

如果您使用hadoop至只有存儲配置單元數據,請考慮創建external tables。這些將僅存儲元數據並重用已存儲在hdfs文件夾中的數據,而內部表將複製數據以及元數據。

+0

如果使用外部表,對速度有影響嗎? – Ploetzeneder 2014-09-29 07:47:41

+0

沒有速度差異.Hive只是作爲一個框架在平面結構化數據上運行map-reduce,而不管它在HDFS上的存儲位置。在內部表中,配置單元選擇數據並將其放置在其選擇的位置以供後續處理。在外部表格中,您特別告訴配置單元在哪裏查找數據。 – 2014-09-29 08:41:45

+0

好的,如果我改變表是否釋放/ dfs/dn? – Ploetzeneder 2014-09-29 10:22:04

相關問題