建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

如何通俗地理解Hive的工作原理?(如何通俗地理解最大似然估计)

GG网络技术分享 2025-03-18 16:11 0


现有有一个很大的仓库,里面有一万个箱子,现在要把这些箱子搬到对门的仓库。

我们可以先让一个工人来搬,如果一分钟搬一个的话,那么要搬一万分钟。

现在我们找来一个动作快一点的工人,半分钟就能搬一个,结果呢,那自然是五千分钟就搬完了。

当然还能再给力一点,比如让工人动作再快一点,比如说 20 秒就搬一个?

但是这总是有个极限的,毕竟搬箱子是个力气活儿,不是那么容易的。

那要不再多找几个工人?比如咱们找 100 个工人,这样是不是就更快了?

不过这又涉及到一个问题,虽然干活的人是多了,但是现在只有一个门,100 个工人挤作一团,虽然人是多了,但是效率并没有提高太多,很多人都在门口等着。

玩过魔兽的就知道,如果采矿的农民太多的话,会有人在矿外面等着,所以每一个矿通常超过 5 个农民的话采矿的速度就不会再增加了。

那怎么办呢?在游戏里,我们可以再开一个新矿,这样就能每个矿分 5 个农民来采了。

对应的仓库,我们可以多开几个门,比如说开 100 个门,每个门分配几个工人,这样是不是就能同步进行,搬箱子的速度更快了?

这就是 Hive 里 Map and Reduce 的原理。

当然这只是一个很粗糙的说法,里面还涉及到很多的细节,比如各个工人之间怎么分配活儿?数据是一整块的,怎么切割成“箱子”,搬完之后在新的仓库里又如何堆放,门怎么开,搬的顺序是怎么样的?

标签:

提交需求或反馈

Demand feedback