我有一个shell脚本(count.sh),它计算文件中的行数。这个脚本已经被复制到hdfs中,我正在使用oozie工作流来执行这个脚本。不过,我想知道是否有办法从命令行执行这个shell脚本。前任:在unix中: [myuser@myserver ~]$./count.sh 当count.sh位于hadoop集群位置“/user/cloudera/myscripts/count.sh”时,与此等效。我阅读了这个hadoop命令来在hadoop集群中运行bash脚本,但仍然不清楚。
[myuser@myserver ~]$./count.sh
huwehgph1#
你要找的东西叫做 Hadoop streaming .您可以查看官方文档hadoopstreaming以了解更多信息,或者查看用python编写hadoopmapreduce程序(而不是python,放在bash脚本中)以了解如何使用它。
Hadoop streaming
mpbci0fu2#
hadoop fs-cat/path/count.sh | exec sh
8cdiaqws3#
我知道这是一个老帖子,但我只是偶然发现它自己,并认为我可以添加一些信息到它的未来。正如camille所说,但这也适用于参数,例如,如果您使用的是bash。
hdfs dfs -cat /path/file | exec bash -s param1 param2 param3 param4
通过收集文件 cat ,可以将脚本作为bash文件启动 execute . -s 启用参数。
cat
execute
-s
3条答案
按热度按时间huwehgph1#
你要找的东西叫做
Hadoop streaming
.您可以查看官方文档hadoopstreaming以了解更多信息,或者查看用python编写hadoopmapreduce程序(而不是python,放在bash脚本中)以了解如何使用它。
mpbci0fu2#
hadoop fs-cat/path/count.sh | exec sh
8cdiaqws3#
我知道这是一个老帖子,但我只是偶然发现它自己,并认为我可以添加一些信息到它的未来。
正如camille所说,但这也适用于参数,例如,如果您使用的是bash。
通过收集文件
cat
,可以将脚本作为bash文件启动execute
.-s
启用参数。