2013-08-06 3 views
0

Я использую потоки Hadoop для написания HTML-граббера на основе python. Я нахожу, что запуск одиночного сценария python с потоком выполняется медленно. Я хочу изменить его на многопоточную версию. Кто-нибудь знает, что будет хорошим числом, чтобы установить количество потоков в Mapper. Я не уверен в спецификациях каждого узла кластера, но я предполагаю, что он будет поддерживать по крайней мере два потока.Threading with Hadoop Streaming

+0

Threading, по-видимому, работает с потоком Hadoop, но до сих пор не знает, сколько потоков мы можем открутить на каждого преобразователя. – viper

ответ

0

Я попытался использовать потоки с помощью python, были проблемы с Global Interpreter Lock. Портированный код для использования модуля многопроцессорности, внутренне hasoop присваивает столько карточек, что в кластере есть ядра, поэтому многопроцессорность не подходит, если вам нужно ускорить работу. Многопоточность, если она выполнена правильно, может привести к некоторому ускорению

0

У меня нет использования потоковой передачи для html-захватчика, но здесь есть post, рассказывающий о том, как работает urllib2 с помощью нескольких потоков (а не с несколькими пакетами обработки, просто с несколькими несколькими потоками).

Надеюсь, может быть полезно.