2013-01-02 4 views
1

Mahout 0.7에서 몇 가지 RecommenderJob (org.apache.mahout.cf.taste.hadoop.item.RecommenderJob) 기반 작업을 실행 중이며 startPhase 및 endPhase와 같은 옵션이 있음을 알 수 있습니다. 필자는 이전 실행에서 필요한 입력 데이터가 있다고 가정하고 파이프 라인의 일부만 실행하는 것으로 추측합니다. 그러나 나는 어떤 단계의 단계가 RecommenderJob에 있는지 이해하기가 힘듭니다. 나는 소스 코드를 읽는 중이고 다소 시간이 걸릴 것으로 보인다. 그 동안 누군가가 (옵션을 startPhase) RecommenderJob 클래스와 함께 이러한 옵션을 사용하는 방법에 대한 빛을 비추 수 있는지 궁금 무엇입니까?Mahout에서 startPhase를 사용하는 방법

답변

3

은 내가 찾은 것입니다 (. 그건 내가 내 차세대 추천인 프로젝트에 한 일입니다) :

상 0 PreparePreferenceMatrixJob에 관한이며 3 개 하둡 작업이 있습니다

PreparePreferenceMatrixJob-ItemIDIndexMapper-Reducer 
PreparePreferenceMatrixJob-ToItemPrefsMapper-Reducer 
PreparePreferenceMatrixJob-ToItemVectorsMapper-Reducer 

단계 1 RowSimilarityJob 관한이며 3 일 가지고

RowSimilarityJob-VectorNormMapper-Reducer 
RowSimilarityJob-CooccurrencesMapper-Reducer 
RowSimilarityJob-UnsymmetrifyMapper-Reducer 

단계 2 RecommenderJob 관한을하고 3 일 가지고

RecommenderJob-SimilarityMatrixRowWrapperMapper-Reducer 
RecommenderJob-UserVectorSplitterMapper-Reducer 
RecommenderJob-Mapper-Reducer 

단계 3이 마지막 하나이고 단지 하나의 작업을 가지고

RecommenderJob-PartialMultiplyMapper-Reducer 

또한 RecommenderJob 클래스 여기서 1 단계로부터의 출력을 정확하게 위상 0 ItemSimilarityJob 1로부터의 출력과 동일하다 (하지만 임시 디렉토리 이름이 다릅니다.

1

네, 맞습니다. 그것은 상당히 조잡한 메커니즘입니다. 실제로 그것은 일련의 MapReduce 작업 중 어떤 것이 실행되는지를 제어합니다. 그들이 무엇인지 알기 위해서는 코드를 읽어야합니다. 그들은 직업에 따라 다릅니다.

만약 내가 다시 한 번 해봤 으면, 출력을 감지하여 작업을 건너 뛰도록 만들었을 것입니다.

다음