EMR Notebooks 的示例编程命令 - Amazon EMR

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

EMR Notebooks 的示例编程命令

概览

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

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

注意

EMR Notebooks 在控制台中作为 Amazon EMR Studio Workspaces 提供。通过控制台中的创建 Workspace 按钮,可以创建新的 Notebooks。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks 是控制台中的 Amazon EMR Studio WorkspacesAmazon EMR 控制台

编程执行的角色权限

要在 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" ] } ] }

编程执行的限制

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

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

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

编程 EMR Notebook 执行示例

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

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