我每天都运行一些python脚本,这些脚本做这些事情:
parse 1000 text files (gziped) :
~ 100 GB
30 Millions rows
Crawl some data from many websites :
40 Millions rows
Script distributed in 50 Amazon EC2 micro instances (5 scripts / instance)
对于每一行,我做一些事情(确保如果行不存在,在插入之前在数据库中搜索一些我需要添加的数据),最后,我在Hbase和Solr中插入行。要处理所有这些文件并抓取所有这些页面,需要花费很多时间,即使我将脚本分发到几台机器上。
我现在不使用MapReduce,我的问题是:MapReduce在我的情况下有用吗?(我学了一些关于它的知识,我所理解的是,如果我想在一些文件中做一些计算,比如wordCount,我真的需要它)
MapReduce是由不同的发行商(Apache, Google,…)实现的编程范例。如果你想使用MapReduce处理你的数据,你需要配置集群并将你的数据存储在分布式文件系统(hdfs或其他Hadoop实现)中。是的,mapreduce作业可以在集群的不同节点之间并行处理,节省你的时间。