我有一個腳本偉馳彈了使用Hadoop的CLI將文件上傳到HDFSPython的subprocess.call參數沒有被發現
下面是摘錄:
def hdfs_put(file_path, topic):
print(file_path)
print(topic)
call(["/usr/local/hadoop-2.5.1/bin/hadoop fs -put", file_path, "/" + topic]
, shell=True
, stderr=STDOUT)
這裏是我得到(注意參數是不爲空):
avro/hdfs_1_2014-11-05.avro
hdfs
-put: Not enough arguments: expected 1 but got 0
Usage: hadoop fs [generic options] -put [-f] [-p] <localsrc> ... <dst>
現在我得到這個錯誤:'''FileNotFoundError:[錯誤2]沒有這樣的文件或目錄: '/usr/local/hadoop-2.5.1/bin/hadoop FS -put' ''' – Lee 2014-11-05 09:31:13
它確實存在,但:(VENV)的bash-4.1#/usr/local/hadoop-2.5 .1/bin/hadoop fs -put -put:沒有足夠的參數:預計1但得到0 用法:hadoop fs [通用選項] -put [-f] [-p] ... –
Lee
2014-11-05 09:31:54
@JohnDoe:我認爲你忽視了像我一樣分裂命令。請仔細閱讀我的答案,並與您的代碼進行比較。 – 2014-11-05 09:32:44