Hadoop 命令到 hadoop 集群中的 运行 bash 脚本
Hadoop command to run bash script in hadoop cluster
我有一个 shell 脚本 (count.sh),它计算文件中的行数。
此脚本已复制到 hdfs 中,目前正在使用 Oozie 工作流来执行此脚本。
但是,我想知道是否有办法从命令行执行此 shell 脚本。
例如:
在 Unix 中:[myuser@myserver ~]$./count.sh
当 count.sh 位于 hadoop 集群位置 '/user/cloudera/myscripts/count.sh'.
时等效于此
我读了这个Hadoop command to run bash script in hadoop cluster,但还是不清楚。
您要找的是Hadoop streaming
。
您可以查看官方文档Hadoop Streaming to find out more or look at Writing An Hadoop MapReduce Program In Python(而不是python,放入您的bash脚本中)以了解如何使用它。
hadoop fs -cat /path/count.sh|exec sh
我知道这是一个旧的 post,但我自己偶然发现了它,并认为我可以为将来添加一些信息。
就像卡米尔说的,但这也适用于参数,例如,如果您使用 bash。
hdfs dfs -cat /path/file | exec bash -s param1 param2 param3 param4
通过使用 cat
收集文件,您可以使用 execute
作为 bash 文件启动脚本。
-s
启用参数。
我有一个 shell 脚本 (count.sh),它计算文件中的行数。 此脚本已复制到 hdfs 中,目前正在使用 Oozie 工作流来执行此脚本。
但是,我想知道是否有办法从命令行执行此 shell 脚本。
例如:
在 Unix 中:[myuser@myserver ~]$./count.sh
当 count.sh 位于 hadoop 集群位置 '/user/cloudera/myscripts/count.sh'.
时等效于此我读了这个Hadoop command to run bash script in hadoop cluster,但还是不清楚。
您要找的是Hadoop streaming
。
您可以查看官方文档Hadoop Streaming to find out more or look at Writing An Hadoop MapReduce Program In Python(而不是python,放入您的bash脚本中)以了解如何使用它。
hadoop fs -cat /path/count.sh|exec sh
我知道这是一个旧的 post,但我自己偶然发现了它,并认为我可以为将来添加一些信息。
就像卡米尔说的,但这也适用于参数,例如,如果您使用 bash。
hdfs dfs -cat /path/file | exec bash -s param1 param2 param3 param4
通过使用 cat
收集文件,您可以使用 execute
作为 bash 文件启动脚本。
-s
启用参数。