コード例 #1
0
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))

コード例 #2
0
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)
コード例 #3
0
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]
コード例 #4
0
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]
コード例 #5
0
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)