Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在hadoop分布式文件系统(hdfs)上执行python文件(.py)_Python_Hadoop_Hdfs - Fatal编程技术网

如何在hadoop分布式文件系统(hdfs)上执行python文件(.py)

如何在hadoop分布式文件系统(hdfs)上执行python文件(.py),python,hadoop,hdfs,Python,Hadoop,Hdfs,Hadoop提供了直接在集群上使用 hadoop jar <jar> 有没有类似于我执行.jar文件的方法来执行.py文件 我不熟悉Python和Hadoop。如果我的方法看起来完全不对劲,毫无意义,我很高兴得到任何澄清 如果您只是希望在集群中分发python脚本,那么您需要使用Hadoop流 该命令的基本语法如下所示(从): 这基本上为python脚本创建了一个MapReduce作业hadoop jar专门用于运行MapReduce作业。看起来您想使用Python操作HDFS上的

Hadoop提供了直接在集群上使用

hadoop jar <jar>
有没有类似于我执行.jar文件的方法来执行.py文件


我不熟悉Python和Hadoop。如果我的方法看起来完全不对劲,毫无意义,我很高兴得到任何澄清

如果您只是希望在集群中分发python脚本,那么您需要使用Hadoop流

该命令的基本语法如下所示(从):


这基本上为python脚本创建了一个MapReduce作业

hadoop jar
专门用于运行MapReduce作业。看起来您想使用Python操作HDFS上的文件?在这种情况下,你应该看看提供了一个很好的教程。谢谢,它让我走上了正确的轨道。我需要调整我的python脚本以作为MapReduce作业。没问题,Rob,只要记住Hadoop使用python进行流式处理是通过拉入stdin并输出stdout来工作的。
import os.path

def transform():
    inputfolder = "input"
    for filename in os.listdir(inputfolder):
        path = inputfolder + "\\" + filename
        os.remove(path)
def main():
    transform()
if __name__ == "__main__":  main()
$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper myPythonScript.py \
-file myPythonScript.py