我想確保MapReduce程序(在Hadoop中)不在映射器端執行任何組合。我知道conf.setCombinerClass()
將組合器類設置爲我們指向的類。在hadoop中禁用組合器
如果我們沒有使用這個set函數指定組合器類,那麼是否禁用了組合或者仍然存在一些隱式的默認組合器。如果是這樣,那麼我們如何禁用這種組合?
我想確保MapReduce程序(在Hadoop中)不在映射器端執行任何組合。我知道conf.setCombinerClass()
將組合器類設置爲我們指向的類。在hadoop中禁用組合器
如果我們沒有使用這個set函數指定組合器類,那麼是否禁用了組合或者仍然存在一些隱式的默認組合器。如果是這樣,那麼我們如何禁用這種組合?
沒有默認組合器,因爲並非所有的map縮小算法都能容納一個。 Hadoop無法自動確定或生成任何映射器和Reducer類,組合器(如果有)甚至可以工作。
下面的文章解釋哪些類型的MR算法有資格使用組合:
http://jazzjuice.blogspot.com/2011/08/requirements-for-using-hadoop-combiner.html
沒有隱含的組合,你必須明確地設置它。