Какой язык использовать для программ Hadoop Map / Reduce?Java или PHP? - PullRequest
4 голосов
/ 20 декабря 2011

Я недавно написал пару программ map / Reduce в Java.Но я также знаю, что можно использовать язык сценариев, такой как php.Тем не менее, в основном каждый рекомендует Java или Python.Я в настоящее время работаю в php.Поэтому мне было интересно, какой язык лучше подходит для разработки программ map / Reduce?

Одним из основных недостатков php для реализации map / lower является то, что он не является многопоточным.Кроме того, у hadoop есть обширная структура классов, интерфейсов и методов, специально созданных в java, которые php-программы не могут использовать.Кроме того, php не предназначен для выполнения сложных задач по обработке данных.

Так может ли кто-нибудь сказать мне в общих чертах, какой из них выбрать в качестве оружия выбора для внедрения карты / сокращения?

1 Ответ

7 голосов
/ 20 декабря 2011

shanthanu, ваш первый вопрос:

Q) какой язык сценариев подходит для hadoop?

A) Большинство языков сценариев, таких как php, python, perl, ruby ​​bash, хороши.Будет работать любой язык, способный читать из stdin, записывать в sdtout и разбирать табуляцию, и символы новой строки: Hadoop Streaming просто передает строковые представления пар ключ-значение, соединенных с табуляцией, в произвольную программу, которая должна выполняться на каждом узле отслеживания задач..

В большинстве дистрибутивов linux, используемых для настройки кластеров hadoop, python, bash, ruby, perl ... уже установлены, но ничто не помешает свернуть вашу собственную среду исполнения для вашего любимого языка сценариев или скомпилированного языка программирования.

Q) PHP не многопоточный?

A) да, но есть способы, с помощью которых мы можем сделать PHP многопоточными.Например, используйте: pnctl_fork () (но в Windows это не работает)

Вопрос, который вы должны всегда помнить, прежде чем переходить к языкам сценариев с помощью hadoop, не "какой язык сценариев?"потому что все в порядке.

Но разница между java и языком сценариев заключается в том, что «Heart Beat дочерних узлов не будет отправляться на родительские узлы, когда мы используем языки сценариев».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...