import subprocess
def run_cmd(args_list):
print('Running system command: {0}'.format(' '.join(args_list)))
proc = subprocess.Popen(args_list, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
proc.communicate()
return proc.returncode
cmd = ['hadoop', 'fs', '-test', '-e', hdfs_file_path]
code = run_cmd(cmd)
if code:
print 'file not exist'
当我发出这个命令来查看文件是否存在于hdfs中时,它抛出了以下错误:
RuntimeError: Error running command: hadoop fs -test -f /app/tmp/1.json. Return code: 1, Error: b''
如何解决这个问题?
1条答案
按热度按时间btqmn9zl1#
我将使用api而不是调用子流程。最好使用一个api,例如spotify创建的snakebite。此示例检查给定文件夹中是否存在文件: