Shell 在Hadoop集群中运行bash脚本的Hadoop命令
我有一个shell脚本(count.sh),它计算文件中的行数。 此脚本已复制到hdfs中,am目前正在使用Oozie工作流执行此脚本 但是,我想知道是否有办法从命令行执行这个shell脚本 例: 在unix中: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流媒体的 您可以查看官方文档了解更多信息,也可以
[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
启用参数。虽然此代码片段可以解决问题,但确实有助于提高文章质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!这是在本地运行,而不是在纱线中运行