我使用paramiko模块从python脚本运行hadoopmapreduce和其他ssh命令(代码可以在这里看到)。mapreduce作业完成后,我运行getmerge步骤将输出转换为文本文件。
问题是,我必须打开一个cmd窗口并运行pscp将output.txt文件从hdfs环境下载到我的计算机上。例如:
pscp xxxx@xx.xx.xx.xx:/nfs_home/appers/cnielsen/MROutput_121815_0.txt C:\Users\cnielsen\Desktop\MR_Test
如何将这个pscp步骤合并到脚本中,以便在mapreduce和getmerge任务完成后不必打开cmd窗口来运行它?我希望我的脚本能够运行mr任务,getmerge任务,然后自动将mr输出保存到我的计算机。
这是我的密码。
1条答案
按热度按时间yvgpqqbh1#
我用以下代码解决了这个问题。诀窍是使用scp模块并导入scpclient。请参阅下面的scp\u下载(ssh)功能。
当mapreduce作业完成时,运行getmerge命令,然后执行scp\u下载步骤。