我们可以向其中添加一个任务节点实例组……r5.2xlarge 或 r5.4xlarge 实例。这很快就会变得非常昂贵!
这是我们可以从 AWS Lambda “窃取”的地方。我们可到我们对 AWS EMR 的使用中。
按需 EMR 基础设施
集群创建
我们可以仅在需要时创建 EMR 集群,并在不 台湾号码 再需要时将其关闭。
动态集群创建
如上图所示,EMR 集群可以在需要时动态创建。这可以由任何类型的事件或来自任何 AWS 服务的消息触发。

例如,我们要创建一个 EMR 集群。当一些数据到达 AWS S3 时,即当 AWS S3 中创建一个对象时,它应该发生。
另一个用例是创建 EMR 集群作为计划处理的一部分。这可以通过 AWS CloudWatch cron 事件触发。
无论我们决定对哪个事件做出反应,我们都需要一个工具来运行我们的创建机制。例如,它可以是 Step 函数、批处理作业或 Lambda 函数。
工作负载提交
创建 EMR 集群后,可以以 EMR 步骤数组的形式提交工作负载。例如,使用 Python Boto3 库,可以在集群创建时完成
emr_response = emr.run_job_flow(...,步骤=steps_definition,...)
或者通过单独调用 AWS EMR 服务
emr . add_job_flow_steps ( JobFlowId = 'string' , Steps = [...] )
集群破坏
当集群完成工作后会发生什么?我们可能希望让它保持运行,以便将来提交可能的工作负载。但让我们假设情况并非如此 — — 我们想关闭它。
在这种情况下,在创建集群时需要注意一个细节:
emr_response = emr.run_job_flow(...,ScaleDownBehavior =“TERMINATE_AT_TASK_COMPLETION”)
通过向 EMR 指定这种缩减行为,集群将在完成所有工作后被销毁。