初探MapReduce
什么是MapReduce
对于一般的数据统计,简单到诸如数组排序,列求和等等,只需要将数据流指向内存,便可通过一系列JDK api操作,对数据进行汇总计算即可。可现实之中往往场景不止于此。先提出两个问题:
1. 当一个日志文件有4GB大小,让你去对error级别日志进行汇总分析,你会放到内存中去做吗?
2. 如果各个日志文件分布在不同的服务器,又该怎么办呢?把它们全部拷贝到一台主机再进行统一计算,然后重新分发给每台机器吗?
诸如这样的问题还有很多,这些都是单点计算无法解决的问题,或者说,在目前大数据的时代而言必然会成为一种瓶颈,因为海量数据是要存储在集群服务器上,这时,便需要一个分布式