Насколько я знаю, вы говорите о 2 (или более) совершенно разных концепциях.
" Hadoop Streaming " предназначен для потоковой передачи данных через ваш исполняемый файл (независимо от вашеговыбор языка программирования).При использовании потоковой передачи не может быть никакой потери функциональности, поскольку функциональность, в основном, заключается в отображении / сокращении данных, которые вы получаете из потока hadoop.
Для части hadoop вы можете даже использовать языки запросов данных больших объемов данных pig или hive.чтобы сделать вещи эффективно.С помощью новейших версий pig вы даже можете написать собственные функции на python и использовать их в своих скриптах pig.
Хотя существуют инструменты, позволяющие вам использовать язык, который вам удобен, никогда не забывайте, что среда разработки hadoop в основном написанав Яве.Могут быть случаи, когда вам нужно будет написать специализированный InputFormat;или UDF внутри pig, и т. д. Тогда пригодятся приличные знания в java.
Ваш пример "Hbase сопроцессоров" в некотором роде не связан с потоковой функциональностью hadoop.Сопроцессоры Hbase состоят из двух частей: серверной части и клиентской части.Я почти уверен, что в выпуске hbase будут встроены некоторые полезные серверные сопроцессоры;но кроме этого вам нужно написать свой собственный сопроцессор (и плохие новости: это Java).Что касается клиента, я уверен, что вы сможете без проблем использовать их с вашим любимым языком программирования через thrift.
Итак, в качестве ответа на свой вопрос: вы всегда можете избежать изучения java;все еще использую hadoop, чтобы использовать его потенциал (используя сторонние библиотеки / приложения).Но когда дерьмо поражает поклонника, лучше понять подстилающий контент;быть в состоянии развиваться с Java.Знание java даст вам полный контроль над окружающей средой hadoop / hbase.
Надеюсь, вы найдете это полезным.