运行 使用 aws emr script-runner 的脚本与 运行 与 bash 有何不同?
How is running a script using aws emr script-runner different from running it from bash?
我在 aws emr 上使用了 script-运行ner,考虑到它可能看起来很基本(也许是愚蠢的)问题,但我阅读了很多文档,但没有人回答为什么我们需要脚本 运行ner 在 emr 中,当它所做的只是在主节点中执行脚本时。
同一个脚本不能 运行 使用 bash?
当您 运行 在 bash 中安装脚本时,您需要在本地安装脚本,并且还需要设置所有配置以使其按预期工作。
使用 script-runner 您有更多选项,例如,运行 它作为集群启动命令的一部分,以及执行在 S3 中远程托管的脚本。请参阅 EMR 文档中的示例:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-script.html
当您只想执行脚本但入口点需要一个 jar 时,就需要脚本运行程序。例如,提交 EMR Step 将执行 "hadoop jar blah ..." 命令。但是如果 "blah" 是一个脚本,这将失败。脚本运行器成为 Step 期望的 jar,然后使用其参数(脚本路径)执行 shell 脚本。
我在 aws emr 上使用了 script-运行ner,考虑到它可能看起来很基本(也许是愚蠢的)问题,但我阅读了很多文档,但没有人回答为什么我们需要脚本 运行ner 在 emr 中,当它所做的只是在主节点中执行脚本时。 同一个脚本不能 运行 使用 bash?
当您 运行 在 bash 中安装脚本时,您需要在本地安装脚本,并且还需要设置所有配置以使其按预期工作。
使用 script-runner 您有更多选项,例如,运行 它作为集群启动命令的一部分,以及执行在 S3 中远程托管的脚本。请参阅 EMR 文档中的示例:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-script.html
当您只想执行脚本但入口点需要一个 jar 时,就需要脚本运行程序。例如,提交 EMR Step 将执行 "hadoop jar blah ..." 命令。但是如果 "blah" 是一个脚本,这将失败。脚本运行器成为 Step 期望的 jar,然后使用其参数(脚本路径)执行 shell 脚本。