2015-11-24 1 views
-1

Я не хочу настраивать кластер hadoop, но все же хотел бы использовать параллельную обработку и сокращение карты в python. Существуют ли существующие библиотеки на python, которые выполняют эту работу?Лучшая параллельная обработка python lib без использования Hadoop в python

+0

Я не уверен, что создание кластера Hadoop должен сделать с этим, но здесь хорошее сообщение в блоге на параллельном MR в python: https://mikecvet.wordpress.com/2010/07/02/parallel-mapreduce-in-python/, и это было номером один в поиске Google для параллельной карты python! – mikea

+0

PySpark - еще один –

ответ

0

Существует несколько способов параллельных вычислений и даже MapReduce без использования Hadoop или любых других тяжелых фреймворков. Вы можете использовать пакет pp для обработки в сети или многопроцессорную обработку для параллельной обработки через несколько ядер. Простая функция карта может быть записана, как показано ниже:

import pp 

def map(func,args,nodes=None): 
    if nodes is not None: 
     job_server=pp.Server(ncpus=num_local_procs,ppservers=nodes) 
    else: 
     job_server=pp.Server(ncpus=num_local_procs) 
    jobs=[job_server.submit(func,input) for input in args] 
    return [job() for job in jobs] 

Вы также можете посмотреть на образцов кодов здесь: https://github.com/gopiks/mappy