以编程方式执行 EMR Notebooks 的示例命令 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以编程方式执行 EMR Notebooks 的示例命令

注意

EMR Notebooks 可在控制台中作为 EMR Studio 工作区使用。控制台中的 “创建工作区” 按钮允许您创建新的笔记本。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR 笔记本是控制台中的 Amazon EMR Studio 工作空间和亚马逊 EMR 控制台。

概述

您可以通过脚本或命令行中的执行 API 来执行 EMR 笔记本。当您在 Amazon 控制台之外启动、停止、列出和描述 EMR 笔记本执行时,您可以通过编程方式控制 EMR 笔记本。您可以将不同的参数值传递给带参数化笔记本单元格的笔记本。这样就不必为每组新参数值创建笔记本副本。有关更多信息,请参阅 Amazon EMR API actions

您可以通过Amazon CloudWatch 事件安排或批量执行EMR笔记本和. Amazon Lambda有关更多信息,请参阅Amazon Lambda 与 Amazon CloudWatch 活动一起使用

编程执行的角色权限

要在 EMR Notebooks 中使用编程执行,您必须使用以下策略配置用户权限:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowExecutionActions", "Effect": "Allow", "Action": [ "elasticmapreduce:StartNotebookExecution", "elasticmapreduce:DescribeNotebookExecution", "elasticmapreduce:ListNotebookExecutions" ], "Resource": "*" }, { "Sid": "AllowPassingServiceRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/EMR_Notebooks_DefaultRole" } ] }

在 EMR Notebooks 集群上以编程方式执行 EMR Notebooks 时,您必须添加以下额外权限:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRetrievingManagedEndpointCredentials", "Effect": "Allow", "Action": [ "emr-containers:GetManagedEndpointSessionCredentials" ], "Resource": [ "arn:aws:emr-containers:region:account-id:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id" ], "Condition": { "StringEquals": { "emr-containers:ExecutionRoleArn": [ "arn:aws:iam::account-id:role/emr-on-eks-execution-role" ] } } }, { "Sid": "AllowDescribingManagedEndpoint", "Effect": "Allow", "Action": [ "emr-containers:DescribeManagedEndpoint" ], "Resource": [ "arn:aws:emr-containers:region:account-id:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id" ] } ] }

编程执行的限制

  • 每个 Amazon Web Services 区域 账户最多支持 100 个并发执行。

  • 如果运行超过 30 天,则会终止执行。

  • Amazon EMR Serverless 交互式应用程序不支持以编程方式执行笔记本电脑实例。

编程 EMR 笔记本执行示例

以下各节提供了使用 Amazon CLI、Boto3 SDK (Python) 和 Ruby 以编程方式执行 EMR 笔记本的几个示例:

您还可以使用编排工具 [例如 Apache Airflow 或 Amazon Managed Workflows for Apache Airflow(MWAA)],将参数化笔记本作为计划工作流的一部分运行。有关更多信息,请参阅Amazon 大数据博客中的 Orchestrating analytics jobs on EMR Notebooks using MWAA