import MapReduce import sys """ Word Count Example in the Simple Python MapReduce Framework """ mr = MapReduce.MapReduce() # ============================= # Do not modify above this line def mapper(record): # key: sequencid # value: nucleotides key = record[0] value = record[1][:-10] mr.emit_intermediate(1, value) def reducer(key, list_of_values): # key: word # value: list of occurrence counts unique_list = [] for v in list_of_values: if v not in unique_list: unique_list.append(v) for v in unique_list: mr.emit((v))
import sys from MapReduce import * fmr = MapReduce() def reducer(person, count_list): fmr.emit((person, sum(count_list))) def mapper(record): fmr.emit_intermediate(record[0], 1) if __name__ == '__main__': fdata = open(sys.argv[1]) fmr.execute(fdata, mapper, reducer)
import MapReduce import sys mr = MapReduce.MapReduce() mr2 = MapReduce.MapReduce() def mapper(record): mr.emit_intermediate('a', record) def reducer(pos, list_of_values): A = [[0, 0, 0, 0, 0] for i in range(5)] B = [[0, 0, 0, 0, 0] for i in range(5)] C = [[0, 0, 0, 0, 0] for i in range(5)] for record in list_of_values: matrix = record[0] row = record[1] col = record[2] value = record[3] if matrix == 'a': A[row][col] = value else: B[row][col] = value result = 1 for i in range(5): for j in range(5): for k in range(5): C[i][j] += A[i][k] * B[k][j]
import sys from MapReduce import * dnarm = MapReduce() def mapper(record): kind = record[0] trimseq = record[1][0:-10] dnarm.emit_intermediate(trimseq, kind) def reducer(trimseq, kinds): dnarm.emit((trimseq, kinds)) if __name__ == '__main__': DNAseq = open(sys.argv[1]) dnarm.execute(DNAseq, mapper, reducer) print[i[1] for i in dnarm.result]
import sys from MapReduce import * #pre-define the sizes of a&b, which are L*M&M*N N=4 L=4 matmr=MapReduce() def mapper(record): if record[0]=='a': for n in range(N+1): matmr.emit_intermediate((record[1],n),(record[0],record[2],record[3])) if record[0]=='b': for l in range(L+1): matmr.emit_intermediate((l,record[2]),(record[0],record[1],record[3])) def reducer(key,klist): d={} d['a']={} d['b']={} maxm=0 for t in klist: maxm=max([maxm,t[1]]) d[t[0]][t[1]]=t[2] mult=sum([d['a'].get(i,0)*d['b'].get(i,0) for i in range(maxm+1)]) matmr.emit((key[0],key[1],mult)) if __name__=='__main__': matr=open(sys.argv[1]) matmr.execute(matr,mapper,reducer)