簡體   English   中英

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

[英]How to execute a python file (.py) on hadoop distributed file system (hdfs)

Hadoop 提供了直接在集群上運行 Java 應用程序的可能性

hadoop jar <jar>

現在我有一個 python 腳本而不是一個 java 應用程序。

下面是沒有所有功能的 .py 文件的構造,只留下了“從文件夾中刪除文件”部分

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()

有沒有辦法像執行 .jar 文件一樣執行 .py 文件?

我是 Python 和 Hadoop 的新手。 如果我的方法看起來完全不合理並且沒有意義,我很高興得到任何澄清!

如果您只是想在整個集群中分發 Python 腳本,那么您希望使用 Hadoop Streaming。

命令的基本語法如下(來自https://hadoop.apache.org/docs/r1.2.1/streaming.html ):

$HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper myPythonScript.py \
-file myPythonScript.py

這基本上為您的 python 腳本創建了一個 map-reduce 作業

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM