Я пытаюсь изучить немного mapreduce в сочетании с Python.Выполнение функции mapreduce в Python
Теперь у меня есть следующий код, выполняемый из учебника, который я делаю.
from mrjob.job import MRJob
class SpendByCustomer(MRJob):
def mapper(self, _, line):
(customerID, itemID, orderAmount) = line.split(',')
yield customerID, float(orderAmount)
def reducer(self, customerID, orders):
yield customerID, sum(orders)
if __name__ == '__main__':
SpendByCustomer.run()
Он должен сделать следующее.
Когда я ударил !python SpendByCustomers.py customer-orders.xls > test.txt
он должен прочитать в .xls
файл, карта и уменьшить его и записать вывод test.txt
.
Все работает нормально, и я в основном это понимаю. Тем не менее, я действительно хотел бы получить больше понимания о следующем:
В
def mapper(self, _, line):
Что такое
_
здесь делает?В
if __name__ == '__main__': SpendByCustomer.run()
Что эта функция делает именно?
Основная часть вашего 'названия == 'вашего вопроса - это четкий дубликат. Вы пытались его исследовать? См. Это: http://stackoverflow.com/a/419185/4996248 –