2016-06-21 7 views
1

У меня есть мое требование к проекту, в котором для анализа данных используется один скрипт python. Раньше я использовал txt-файлы в качестве входа в этот скрипт python. Но по мере роста данных я должен переключить свою платформу хранения на Hadoop HDFS. Как я могу получить данные HDFS в моем сценарии python? Есть ли способ сделать это? Заранее спасибо.Можно ли интегрировать Hadoop с Python?

+0

Использование Hadoop для использования python, php и т. Д. Ex: hasoop jar hasoop/tools/lib/hadoop-streaming-2.7.2.jar -mapper /mapper.php -reducer/reducer.php -input/hdfsinputpath -output/hdfsoutputpath –

+0

Это может помочь: http://stackoverflow.com/questions/12485718/python-read-file-as-stream-from-hdfs –

ответ

2

Hadoop Streaming API:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \ 
-input myInputDirs \ 
-output myOutputDir \ 
-mapper /bin/cat \ 
-reducer /bin/wc 

Все, что вам нужно знать о том, что здесь: http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/

+0

Это то, что я ищу. Итак, в основном все будет обрабатываться Hadoop-streaming.jar? Нет необходимости в дополнительной работе. Правильно ли? –

+1

Да, это правильно. –

0

В дополнение к другим подходам, вы можете также встраивать Pig Latin заявления и команды Pig в сценарии Python используя JDBC-подобную компиляцию, привязку, модель запуска. Для Python убедитесь, что jython jar включен в ваш путь к классу. Обратитесь к документации по Apache для получения более подробной информации: https://pig.apache.org/docs/r0.9.1/cont.html#embed-python

Смежные вопросы