hive菜鳥教程 如何通俗地理解Hive的工作原理?
如何通俗地理解Hive的工作原理?有一個大倉庫,里面有10000個箱子?,F(xiàn)在我們需要把這些箱子搬到門對面的倉庫。我們可以讓一個工人先移動它。如果我們每分鐘移動一個,需要一萬分鐘?,F(xiàn)在我們找到了一個速度
如何通俗地理解Hive的工作原理?
有一個大倉庫,里面有10000個箱子?,F(xiàn)在我們需要把這些箱子搬到門對面的倉庫。
我們可以讓一個工人先移動它。如果我們每分鐘移動一個,需要一萬分鐘。
現(xiàn)在我們找到了一個速度更快的工人,他可以在半分鐘內(nèi)移動一個。因此,它將在5000分鐘內(nèi)完成。當(dāng)然很棒,比如說,讓工人移動得更快,比如說,20秒移動一個?
但總有一個極限。畢竟,搬一個箱子很辛苦。這并不容易。
您還需要多少工人?例如,讓我們找100個工人??煲稽c(diǎn)嗎?
但是,還涉及到另一個問題。雖然工作的人多了,但只有一扇門,100名工人擠在一起。雖然人多了,但效率沒有多大提高。許多人在門口等著。
玩過魔獸的人都知道,如果礦主太多,會有人在礦場外等著,所以如果每個礦場有5個以上的礦主,采礦速度不會提高。
那又怎樣?在游戲中,我們可以開一個新的礦井,這樣每個礦井可以分成5個農(nóng)戶來開采。
對于相應(yīng)的倉庫,我們可以多開幾扇門。例如,我們可以打開100個門,并為每個門分配幾個工人。這樣,我們能更快更同步地移動箱子嗎?
這就是蜂巢中的map和reduce的原理。
當(dāng)然,這只是一個非常粗略的陳述,它還涉及許多細(xì)節(jié),例如如何在工人之間分配工作?如何將數(shù)據(jù)切割成“盒子”,如何將其堆放在新倉庫中,如何開門,如何按順序移動?
hbase和hive的差別是什么,各自適用在什么場景中?
1. HBase:基于Hadoop數(shù)據(jù)庫,是NoSQL數(shù)據(jù)庫;HBase表是物理表,適合存儲非結(jié)構(gòu)化數(shù)據(jù)。
2. Hive:它不存儲數(shù)據(jù),而是依賴HDFS和MapReduce,通過SQL計算和處理HDFS上的結(jié)構(gòu)化數(shù)據(jù);Hive中的表是純邏輯表。
這兩者通常一起使用。
1. HBase:實(shí)時隨機(jī)查詢海量詳細(xì)數(shù)據(jù),存儲采集到的web數(shù)據(jù);
2。配置單元:適用于離線批量數(shù)據(jù)計算,一般用于查詢分析和統(tǒng)計。