Я собираюсь запустить mapreduce проект, который будет работать на AWS, и мне дарят выбор, для или использования Java или C++.
Я понимаю, что запись проекта в Java сделала бы больше функциональность доступной для меня, однако C++ мог осуществить его также посредством Потоковой передачи Hadoop.
Обратите внимание, у меня есть мало знаний в любом языке. Подобный проект был сделан в C++, и код доступен мне.
Так мой вопрос: действительно ли эта дополнительная функциональность доступна через AWS, или действительно ли только необходимо, если Вы имеете больше контроля над облаком? Есть ли что-либо еще, что я должен принять во внимание для принятия решения, как доступность плагинов для hadoop, которые работают лучше с одним языком или другим?
Заранее спасибо
У вас есть несколько вариантов запуска Хадупа на AWS. Самое простое - это запустить ваши задания MapReduce через их сервис Elastic MapReduce: http://aws.amazon.com/elasticmapreduce. Вы также можете запустить кластер Hadoop на EC2, как описано в http://archive.cloudera.com/docs/ec2.html.
Если вы подозреваете, что вам нужно написать свои собственные форматы ввода/вывода, партизаторы и комбинаторы, я бы порекомендовал использовать Java с последней системой. Если ваша работа относительно проста и вы не планируете использовать кластер Hadoop для других целей, я бы порекомендовал выбрать язык, с которым вам удобнее всего и использовать EMR.
В любом случае, удачи!
Раскрытие: Я основатель Cloudera.
С уважением, Джефф
Это зависит от ваших потребностей. Каков ваш вход/выход? Это простые текстовые файлы? Записи с новыми разделителями строк? Вам нужен специальный разделитель строк?
Я имею в виду, что если вам нужны только основы хадуопа, то поток будет в порядке. Но если вам понадобится немного больше сложности (из фреймворка хадупов, а не из вашей собственной бизнес-логики), то хадуповая банка будет более гибкой.
Sagie
] Я решил, что гибкость Java важнее, чем работа с возможными недостатками настройки моего текущего кода с С++ на Java.[
] [] Спасибо за все ваши ответы.[
]