我在emr中运行一些shell脚本,当我通过添加步骤提交脚本时-进程运行,但脚本中有一行在本地系统上创建了一个文件。但是,当我通过ssh登录并运行相同的脚本(即登录后复制并粘贴到命令行)时,我得到了文件创建。
创建文件的行是:
echo $FILENAMEUS > /home/hadoop/filename.csv
我首先想到的是hadoop文件系统的所有权,但我不知道为什么会发生这种情况。非常感谢您的帮助。谢谢您。
我在emr中运行一些shell脚本,当我通过添加步骤提交脚本时-进程运行,但脚本中有一行在本地系统上创建了一个文件。但是,当我通过ssh登录并运行相同的脚本(即登录后复制并粘贴到命令行)时,我得到了文件创建。
创建文件的行是:
echo $FILENAMEUS > /home/hadoop/filename.csv
我首先想到的是hadoop文件系统的所有权,但我不知道为什么会发生这种情况。非常感谢您的帮助。谢谢您。
1条答案
按热度按时间i1icjdpr1#
所以你不能简单地
echo
直接放到HadoopFS上,需要使用HadoopFS-put函数才能将其放到那里。非常方便,您可以直接将HadoopFS-put放到hdfs文件系统上,这样您就可以完成所有的操作
sed
awk
等等,然后把它放到hdfs上。