执行shell脚本作为EMR AWS的其中一个步骤

我们正在考虑将我们的Hadoop基础架构从数据中心迁移到AWS EMR。 由于ETL过程中的一些任务/阶段是依赖的,例如stream程就像

  1. 减less作业将生成数据
  2. Shell脚本会将步骤1中生成的数据移动到输出位置

在EMR中,我们可以findCustom Jar,Pig,Hive的步骤,但没有find执行shell脚本的选项。 我们必须克服的一些select是,

  • 我们可以在java程序中编写shell脚本逻辑并添加自定义jar步骤。
  • 引导行动。 但是由于我们的要求是在第一步完成后执行shell脚本,所以我不确定它是否有用。

如果有任何其他可以从EMR或AWS直接获得的选项满足我们的要求,那么我们的努力将会减less,而不是重新开始。

请参阅以下链接: http : //docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-script.html

aws emr create-cluster --name "Test cluster" –-release-label --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey --instance-type m3.xlarge --instance-count 3 --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://region.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://mybucket/script-path/my_script.sh"]