2016-06-21 76 views
1

我有我的項目需求,其中一個python腳本用於分析數據。以前,我使用txt文件作爲該python腳本的輸入。但隨着數據的增長,我必須將存儲平臺切換到Hadoop HDFS。我怎樣才能HDFS數據到我的python腳本?有沒有辦法做到這一點?提前致謝。我們可以將Hadoop與Python集成嗎?

+0

使用Hadoop流式使用python,php等例如:hadoop jar hadoop/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的流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語句和豬在Python的腳本命令使用類似JDBC的編譯,綁定,運行模型。對於Python,確保Jython jar包含在你的類路徑中。請參考Apache的豬文檔在這裏獲取更多詳細信息:https://pig.apache.org/docs/r0.9.1/cont.html#embed-python

相關問題