2016-06-21 35 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

相关问题