各位尊敬的听众,各位爱Coding的程序猿、程序媛们,以及未来可能成为程序界的“扫地僧”们,晚上好! 今天,咱们聊点硬核的,但保证不枯燥,就跟吃麻辣火锅一样,热辣滚烫,酣畅淋漓! 咱们今天要啃的是—— MapReduce 编程模型:批处理任务的原理与实践。 别听到“MapReduce”就觉得高冷,好像只有大神才能驾驭。 其实啊,它就像咱们厨房里的切菜机和绞肉机,把大块的食材(数据)分解成小块,分给不同的厨师(机器)处理,最后再汇总成一道美味佳肴。 简单来说,就是分而治之,然后汇总升华! 一、 缘起:数据洪流的时代,我们需要一艘诺亚方舟 想象一下,你是一家大型电商平台的CTO。 每天面对的是什么? 不是美女,不是豪车,而是海量的数据! 用户浏览记录、订单信息、商品评价、物流信息… 铺天盖地,仿佛滔滔江水,连绵不绝! 如果想统计一下去年卖得最好的100款商品,传统的单机数据库跑起来,可能要跑到猴年马月。 就像用小刀切西瓜,切到手抽筋都切不完。 怎么办? 难道要眼睁睁看着数据洪流淹没我们? No! 英雄总是在关键时刻出现! Google的大佬们看不下去了, 于是乎,MapReduce应运而生 …