我在EMR中运行一些shell脚本,当我通过添加步骤提交脚本时 - 该过程运行,但脚本中的一行在本地系统上创建一个文件。但是,当我通过SSH登录并运行相同的脚本(即登录后复制并粘贴到命令行)时,我正在创建文件。
创建文件的行是:
echo $FILENAMEUS > /home/hadoop/filename.csv
我的第一个想法是hadoop文件系统的所有权,但我没有真正的线索,为什么会发生这种情况。任何帮助是极大的赞赏。谢谢。
答案 0 :(得分:0)
所以你不能简单地sed
直接进入hadoop fs,你需要使用hadoop fs -put函数才能把它放在那里。
awk
非常方便,您可以直接将fs -put用于HDFS文件系统,这样您就可以执行所有java -jar DynamoDBLocal.jar -sharedDb
>
等操作,然后将其输出到HDFS上。