2014-02-22 20 views
0

Map Reduce Design Patterns Book分析總訂單的階段劃分

你需要運行一次,如果你的數據的分佈不隨時間變化快,由於取值範圍是生產將繼續表現良好。

我無法得到聲明的含義,這是否像一般性觀察,或者當使用TotalOrderPartitioner時可以實際實現嗎?

我們可以通過某種方式讓TotalOrderPartitioner不創建分區文件,只使用已創建的文件嗎?

基本上,我可以在使用TotalOrderPartitioner時跳過分析階段嗎?

回答

1

使用TotalOrderPartitioner時,它可以很容易地實現:

TotalOrderPartitioner.setPartitionFile(job.getConfiguration(), partitionFile); // use existing file!!! 

    // InputSampler.writePartitionFile(job, sampler); // Just comment out this line!!! 

注意的是,從的Javadoc:

公共靜態無效setPartitionFile(配置的conf, 路徑P)

//設置存儲排序分區鍵集的SequenceFile的路徑。 對於R減少的情況,SequenceFile中有R-1個鍵。

如果重新運行排序 - 如果你的數據略有改變,樣品仍應該很好地代表了它 - 你可以使用現有的分區文件,樣品,作爲其創作的InputSampler在客戶端上是昂貴的。但是必須使用相同數量的Reducers,就像您在InputSampler創建分區文件的作業中使用的那樣。