2016-11-24 61 views
0

我在EMR中运行一些shell脚本时,通过添加步骤提交脚本 - 进程运行,但在脚本中创建一个文件到本地系统的一行。但是,当我通过SSH登录并运行相同的脚本(即,一旦登录时复制并粘贴到命令行中),我正在创建文件。集群不能正常工作的AWS EMR文件创建

它创建了一个文件,该行是:

echo $FILENAMEUS > /home/hadoop/filename.csv 

我的第一个想法就是Hadoop的文件系统的所有权,但我没有真正的线索,为什么发生这种情况。任何帮助是极大的赞赏。谢谢。

回答

0

因此,您不能简单地将echo直接拖到hadoop fs上,您需要使用hadoop fs -put函数才能将其放到那里。

echo $FILENAME | hadoop fs -put - filesystem:///url 

非常方便,您可以直接Hadoop的FS -put到HDFS文件系统,所以你可以做所有的sedawk等,然后-put它到HDFS。