Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 在Hadoop集群中运行bash脚本的Hadoop命令_Shell_Hadoop_Cloudera_Oozie Workflow - Fatal编程技术网

Shell 在Hadoop集群中运行bash脚本的Hadoop命令

Shell 在Hadoop集群中运行bash脚本的Hadoop命令,shell,hadoop,cloudera,oozie-workflow,Shell,Hadoop,Cloudera,Oozie Workflow,我有一个shell脚本(count.sh),它计算文件中的行数。 此脚本已复制到hdfs中,am目前正在使用Oozie工作流执行此脚本 但是,我想知道是否有办法从命令行执行这个shell脚本 例: 在unix中:[myuser@myserver~]$./count.sh 当count.sh位于hadoop集群位置“/user/cloudera/myscripts/count.sh”时,与此等效 我读过这篇文章,但还不清楚。您要找的是名为Hadoop流媒体的 您可以查看官方文档了解更多信息,也可以

我有一个shell脚本(count.sh),它计算文件中的行数。 此脚本已复制到hdfs中,am目前正在使用Oozie工作流执行此脚本

但是,我想知道是否有办法从命令行执行这个shell脚本

例:

在unix中:
[myuser@myserver~]$./count.sh

当count.sh位于hadoop集群位置“/user/cloudera/myscripts/count.sh”时,与此等效


我读过这篇文章,但还不清楚。

您要找的是名为
Hadoop流媒体的


您可以查看官方文档了解更多信息,也可以查看(而不是python,放在bash脚本中)了解如何使用它。

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

我知道这是一篇老文章,但我自己刚刚发现了它,并认为我可以为将来添加一些信息

正如Camille所说,但这也适用于参数,例如,如果您使用的是bash

hdfs dfs -cat /path/file | exec bash -s param1 param2 param3 param4
通过使用
cat
收集文件,可以使用
execute
将脚本作为bash文件启动。
-s
启用参数。

虽然此代码片段可以解决问题,但确实有助于提高文章质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!这是在本地运行,而不是在纱线中运行