Как запустить программу mapreduce локально на ноутбуке в оболочке cmd в windows 10 - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь запустить локально программу MapReduce на ноутбуке, версия oop 2.8. я запутался, как использовать приведенную ниже команду в оболочке Cmd.

Это моя команда, а также общий код маппера и редуктора. и мои данные в файле CSV.

D:\hadoop\bin\hadoop jar D:\hadoop\share\hadoop\tools\lib\hadoop-streaming-2.3.0.jar 
-D mapred.reduce.tasks=0
-file /reducer.py -mapper "mapper.py" 
-input /data2.csv -input /data2.csv 
-output /output
#!/usr/bin/python3
#mapper.py
import sys

# input comes from STDIN (standard input)
for line in sys.stdin:
    line = line.strip()
    line = line.split(",")

    if len(line) >=2:
        sex = line[1]
        age = line[2]
        print ('%s\t%s' % (sex, age))
#!/usr/bin/python3
#Reducer.py
import sys

sex_age = {}

#Partitoner
for line in sys.stdin:
    line = line.strip()
    sex, age = line.split('\t')

    if sex in sex_age:
        sex_age[sex].append(int(age))
    else:
        sex_age[sex] = []
        sex_age[sex].append(int(age))

#Reducer
for sex in sex_age.keys():
    ave_age = sum(sex_age[sex])*1.0 / len(sex_age[sex])
    print ('%s\t%s'% (sex, ave_age))

1 Ответ

0 голосов
/ 19 января 2020

Эта команда должна работать одинаково в любой среде Had oop.

FWIW, вам, вероятно, следует перейти на использование хотя бы Pyspark

...