Я не хочу настраивать кластер hadoop, но все же хотел бы использовать параллельную обработку и сокращение карты в python. Существуют ли существующие библиотеки на python, которые выполняют эту работу?Лучшая параллельная обработка python lib без использования Hadoop в python
-1
A
ответ
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
Я не уверен, что создание кластера Hadoop должен сделать с этим, но здесь хорошее сообщение в блоге на параллельном MR в python: https://mikecvet.wordpress.com/2010/07/02/parallel-mapreduce-in-python/, и это было номером один в поиске Google для параллельной карты python! – mikea
PySpark - еще один –