MapReduce, MRJob 용 Yelp의 Python API를 사용하는 방법을 배우려고합니다. 그들의 간단한 단어 카운터 예제는 의미가 있지만 여러 입력을 포함하는 응용 프로그램을 처리하는 방법이 궁금합니다. 예를 들어 문서의 단어를 단순히 계산하는 것이 아니라 벡터에 행렬을 곱하는 것입니다. 나는이 솔루션 기능을 함께했다,하지만 바보 느낌 :MRJob을 이용한 다중 입력
이 코드는./matrix.py < input.txt
를 실행하고 작동하는 이유는
class MatrixVectMultiplyTast(MRJob):
def multiply(self,key,line):
line = map(float,line.split(" "))
v,col = line[-1],line[:-1]
for i in xrange(len(col)):
yield i,col[i]*v
def sum(self,i,occurrences):
yield i,sum(occurrences)
def steps(self):
return [self.mr (self.multiply,self.sum),]
if __name__=="__main__":
MatrixVectMultiplyTast.run()
그에 대응하는 벡터 값, 열을 기준으로 input.txt를 저장 행렬 라인의 끝.
그래서, 다음의 행렬과 벡터 :
이 같은 input.txt를로 표시됩니다 : 한마디로
, 내가 매트릭스를 저장에 대해 가서 얼마나 벡터를 자연스럽게 별도의 파일에 저장하고 둘 다 MRJob에 전달하면됩니까?