博客文章 - http://petewarden.typepad.com/searchbrowser/2011/05/using-hadoop-with-external-api-calls.html - 建议在Hadoop集群内调用外部系统(查询twitter API或抓取网页)。
对于我目前正在开发的系统,有快速和慢速(批量)子系统。数据来自Twitter的API,也可以进行快速的个人检索。这可能是每天数十万(甚至数百万)的外部请求。还会检索网页内容以进行进一步处理 - 至少具有相同的请求范围。
除了对外部源的潜在副作用(更改数据以便在下一个请求中有所不同),以这种方式使用Hadoop的优点或缺点是什么?它是批量和/或快速检索数据的有效且有用的方法吗?
答案 0 :(得分:2)
加号:这是分发需要完成的工作的一种非常简单的方法。
减号:由于Hadoop从故障中恢复的方式,你需要非常小心地管理什么是运行和不运行(你肯定可以做,这只是需要注意的事项)。例如,如果减少失败,则还必须重新运行为该分区提供的所有映射作业。显然,这很可能是一个无减速器的工作,但是对于映射器来说仍然如此......如果一半的调用运行,那么就会发生什么,然后作业失败,所以它被重新调度?
您可以使用某种高吞吐量系统来管理实际调用或某些调用。但它绝对可以适当地用于此。