2011-09-24 56 views
7

根据Hadoop : The Definitive Guide如何在Map/Reduce函数中提取数据?

新API支持“推”和“拉”式迭代。在这两个API中,键值记录对都被推送到映射器,但是另外,新API允许映射器从map()方法中提取记录。减速机也是如此。 “拉”风格如何有用的一个例子是批量处理记录,而不是逐个处理记录。

是否有人在Map/Reduce函数中拉取数据?我对API或相同的示例感兴趣。

回答

5

我发布了一个查询@ [email protected]并得到了答案。

可以通过调用nextKeyValue()来从传递给地图的上下文对象中检索下一个键值对。因此,您将能够在新的API中从其中获取下一个数据。

在这种情况下,拉动的性能是否比推动更好?此外,哪些情况下拉将有用?

+0

我认为这种情况将是有用的,当你的当前键/值的处理将依赖于下一个键值对。 –

+0

它可能已经完成了旧的和新的API。但是,面临的挑战是处理数据分散在不同块的情况。 –

+0

如何用旧的API做到这一点? –