hadoop命令在hadoop集群中运行bash脚本

vvppvyoh  于 2021-06-01  发布在  Hadoop
关注(0)|答案(3)|浏览(350)

我有一个shell脚本(count.sh),它计算文件中的行数。这个脚本已经被复制到hdfs中,我正在使用oozie工作流来执行这个脚本。
不过,我想知道是否有办法从命令行执行这个shell脚本。
前任:
在unix中: [myuser@myserver ~]$./count.sh 当count.sh位于hadoop集群位置“/user/cloudera/myscripts/count.sh”时,与此等效。
我阅读了这个hadoop命令来在hadoop集群中运行bash脚本,但仍然不清楚。

huwehgph

huwehgph1#

你要找的东西叫做 Hadoop streaming .
您可以查看官方文档hadoopstreaming以了解更多信息,或者查看用python编写hadoopmapreduce程序(而不是python,放在bash脚本中)以了解如何使用它。

mpbci0fu

mpbci0fu2#

hadoop fs-cat/path/count.sh | exec sh

8cdiaqws

8cdiaqws3#

我知道这是一个老帖子,但我只是偶然发现它自己,并认为我可以添加一些信息到它的未来。
正如camille所说,但这也适用于参数,例如,如果您使用的是bash。

hdfs dfs -cat /path/file | exec bash -s param1 param2 param3 param4

通过收集文件 cat ,可以将脚本作为bash文件启动 execute . -s 启用参数。

相关问题