2012-09-11 67 views
4

我正在排除如何多次對數據進行排序而無需每次都返回映射器。Hadoop Streaming和多個Reducer步驟在每個步驟之間沒有映射器

我還想設置:1映射 - >減速器1 --->機2 --->減速3

我想使減速機1輸出(鍵,數據),然後把它直行減速機2 ...這可能嗎?

我從故障排除中瞭解到,您可以鏈接作業,但是這需要每個步驟的映射器?

每當我嘗試在沒有映射器的情況下運行時,它以錯誤結束。如果我可以根據需要從減速器1輸出它,似乎每個步驟的運行映射器都會浪費時間/資源。

想法?

回答

1

總之,如果您使用的是Java,ChainReducer和ChainMapper就是您所需要的。通過這些類,您可以按任意順序在鏈中添加任意數量的縮減器或映射器。

「Hadoop in action」一書在第5章中描述了這一過程。