[英]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.