我们正在自动启动随需应变的EMR集群。这将在AWS S3中的某些文件到达时触发。在这方面,我们正在评估两个选择 - 1. Shell脚本,它将调用AWS CLI以启动所需的EMR集群 2.将调用EMR启动方法的Python脚本,停止使用boto3
是否有偏好使用一个选项而不是另一个? 前者看起来更容易,因为我们可以从AWS控制台手动创建的EMR中获取CLI并将其打包到shell脚本中。虽然后面的选项有复杂性,但没有这样的起点,而且必须从头开始编写方法。
感谢您在这方面的投入。
答案 0 :(得分:1)
虽然两者都能达到你想要的效果,但我建议你选择Lambda(Python)。
在预期数据的S3位置创建一个事件触发器 - 这将调用您的lambda(python代码),lambda可以反过来启动您的EMR。
s3-> lambda -> EMR
另一种选择可能是从lambda触发一个数据管道,它将为你创建EMR。
s3 -> lambda -> pipeline -> EMR
使用管道与lambda创建EMR的优点
您可以在此处阅读更多相关信息 - https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/what-is-datapipeline.html