我们可以将 Hadoop 与 Python 集成吗?
Posted
技术标签:
【中文标题】我们可以将 Hadoop 与 Python 集成吗?【英文标题】:Can we integrate Hadoop with Python? 【发布时间】:2016-06-21 06:25:10 【问题描述】:我有一个项目要求。我正在使用 python 脚本来分析数据。最初,我使用 txt 文件作为该 python 脚本的输入。但随着数据的增长,我不得不将我的存储平台切换到 Hadoop HDFS。如何将 HDFS 数据提供给 python 脚本作为输入?有什么办法吗?提前致谢。
【问题讨论】:
使用 Hadoop 流来使用 python、php 等 例如:hadoop jar hadoop/tools/lib/hadoop-streaming-2.7.2.jar -mapper /mapper.php -reducer /reducer.php -input /hdfsinputpath -输出 /hdfsoutputpath 这可能会有所帮助:***.com/questions/12485718/… 【参考方案1】: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/
【讨论】:
这就是我要找的。那么,基本上一切都将由 Hadoop-streaming.jar 处理,对吧?不需要额外的工作。我说的对吗?【参考方案2】:除了其他方法之外,您还可以使用类似 JDBC 的编译、绑定、运行模型将 Pig Latin 语句和 Pig 命令嵌入 Python 脚本中。对于 Python,请确保 Jython jar 包含在您的类路径中。更多详细信息请参阅此处的 apache pig 文档:https://pig.apache.org/docs/r0.9.1/cont.html#embed-python
【讨论】:
以上是关于我们可以将 Hadoop 与 Python 集成吗?的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch:Hadoop 大数据集成 (Hadoop => Elasticsearch)