本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
笔记本执行 CLI 命令示例
注意
在新控制台中,EMR 笔记本电脑可作为 EMR Studio 工作区使用。您仍然可以在旧主机中使用现有笔记本电脑,但不能在旧主机中创建新笔记本电脑。新控制台中的 “创建工作区” 按钮取代了此功能。要访问或创建工作空间,EMR 笔记本用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks are Amazon EMR Studio Workspaces in new console(Amazon EMR Notebooks 在新控制台中为 Amazon EMR Studio Workspaces)和 What's new in the console?(控制台中有哪些新功能?)
以下示例使用 EMR 笔记本电脑控制台中的演示笔记本。要查找笔记本,请使用相对于主目录的文件路径。在此示例中,您可以运行两个笔记本文件:demo_pyspark.ipynb
和my_folder/python3.ipynb
。
文件 demo_pyspark.ipynb
的相对路径是 demo_pyspark.ipynb
,如下所示。

python3.ipynb
的相对路径是 my_folder/python3.ipynb
,如下所示。

有关亚马逊 EMR API NotebookExecution
操作的信息,请参阅亚马逊 EMR API 操作。 。
运行笔记本
您可以使用start-notebook-execution
操作AWS CLI来运行您的笔记本,如以下示例所示。
例 — 使用亚马逊 EMR(在 Amazon EC2 上运行)集群在 EMR Studio 工作区中执行 EMR 笔记本
aws emr --region
us-east-1
\ start-notebook-execution \ --editor-ide-ABCDEFG123456
\ --notebook-params '{"input_param":"my-value
", "good_superhero
":["superman
", "batman
"]}' \ --relative-pathtest.ipynb
\ --notebook-execution-namemy-execution
\ --execution-engine '{"Id" : "j-1234ABCD123
"}' \ --service-role EMR_Notebooks_DefaultRole { "NotebookExecutionId": "ex-ABCDEFGHIJ1234ABCD
" }
例 — 使用 EMR 笔记本集群在 EMR Studio 工作区中执行 EMR 笔记本
注意
EKS 上的 Amazon EMR 托管终端节点功能处于预览版中,可能会发生变化。该功能以服务条款中定义的预览AWS服务
aws emr start-notebook-execution \ --region
us-east-1
\ --service-role EMR_Notebooks_DefaultRole \ --environment-variables '{"KERNEL_EXTRA_SPARK_OPTS": "--conf spark.executor.instances=1", "KERNEL_LAUNCH_TIMEOUT": "350"}' \ --output-notebook-format HTML \ --execution-engine Id=arn:aws:emr-containers:us-west-2:account-id
:/virtualclusters/ABCDEFG
/endpoints/ABCDEF
,Type=EMR_ON_EKS,ExecutionRoleArn=arn:aws:iam::account-id
:role/execution-role
\ --editor-id e-ABCDEFG
\ --relative-pathEMRonEKS-spark_python.ipynb
例 — 执行 EMR 笔记本,指定其 Amazon S3 位置
aws emr start-notebook-execution \ --region
us-east-1
\ --notebook-execution-namemy-execution-on-emr-on-eks-cluster
\ --service-role EMR_Notebooks_DefaultRole \ --environment-variables '{"KERNEL_EXTRA_SPARK_OPTS": "--conf spark.executor.instances=1", "KERNEL_LAUNCH_TIMEOUT": "350"}' \ --output-notebook-format HTML \ --execution-engine Id=arn:aws:emr-containers:us-west-2:account-id
:/virtualclusters/ABCDEF
/endpoints/ABCDEF
,Type=EMR_ON_EKS,ExecutionRoleArn=arn:aws:iam::account-id
:role/execution-role
\ --notebook-s3-location '{"Bucket": "your-s3-bucket
","Key": "s3-prefix-to-notebook-location
/EMRonEKS-spark_python.ipynb"}' \ --output-notebook-s3-location '{"Bucket": "your-s3-bucket
","Key": "s3-prefix-for-storing-output-notebook
"}'
笔记本输出
这是示例笔记本的输出。单元格 3 显示新注入的参数值。

描述笔记本
您可以使用 describe-notebook-execution
操作以访问关于特定笔记本执行的信息。
aws emr --region us-east-1 \ describe-notebook-execution --notebook-execution-id ex-IZWZZVR9DKQ9WQ7VZWXJZR29UGHTE { "NotebookExecution": { "NotebookExecutionId": "ex-IZWZZVR9DKQ9WQ7VZWXJZR29UGHTE", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "ExecutionEngine": { "Id": "j-2QMOV6JAX1TS2", "Type": "EMR", "MasterInstanceSecurityGroupId": "sg-05ce12e58cd4f715e" }, "NotebookExecutionName": "my-execution", "NotebookParams": "{\"input_param\":\"my-value\", \"good_superhero\":[\"superman\", \"batman\"]}", "Status": "FINISHED", "StartTime": 1593490857.009, "Arn": "arn:aws:elasticmapreduce:us-east-1:123456789012:notebook-execution/ex-IZWZZVR9DKQ9WQ7VZWXJZR29UGHTE", "LastStateChangeReason": "Execution is finished for cluster j-2QMOV6JAX1TS2.", "NotebookInstanceSecurityGroupId": "sg-0683b0a39966d4a6a", "Tags": [] } }
停止运行笔记本
如果您想要停止笔记本正在运行的执行,您可以借助 stop-notebook-execution
命令。
# stop a running execution aws emr --region us-east-1 \ stop-notebook-execution --notebook-execution-id ex-IZWZX78UVPAATC8LHJR129B1RBN4T # describe it aws emr --region us-east-1 \ describe-notebook-execution --notebook-execution-id ex-IZWZX78UVPAATC8LHJR129B1RBN4T { "NotebookExecution": { "NotebookExecutionId": "ex-IZWZX78UVPAATC8LHJR129B1RBN4T", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "ExecutionEngine": { "Id": "j-2QMOV6JAX1TS2", "Type": "EMR" }, "NotebookExecutionName": "my-execution", "NotebookParams": "{\"input_param\":\"my-value\", \"good_superhero\":[\"superman\", \"batman\"]}", "Status": "STOPPED", "StartTime": 1593490876.241, "Arn": "arn:aws:elasticmapreduce:us-east-1:123456789012:editor-execution/ex-IZWZX78UVPAATC8LHJR129B1RBN4T", "LastStateChangeReason": "Execution is stopped for cluster j-2QMOV6JAX1TS2. Internal error", "Tags": [] } }
按开始时间列出笔记本的执行情况
您可以将 --from
参数输入至 list-notebook-executions
,按开启时间列出笔记本的执行情况。
# filter by start time aws emr --region us-east-1 \ list-notebook-executions --from 1593400000.000 { "NotebookExecutions": [ { "NotebookExecutionId": "ex-IZWZX78UVPAATC8LHJR129B1RBN4T", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "STOPPED", "StartTime": 1593490876.241 }, { "NotebookExecutionId": "ex-IZWZZVR9DKQ9WQ7VZWXJZR29UGHTE", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "RUNNING", "StartTime": 1593490857.009 }, { "NotebookExecutionId": "ex-IZWZYRS0M14L5V95WZ9OQ399SKMNW", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "STOPPED", "StartTime": 1593490292.995 }, { "NotebookExecutionId": "ex-IZX009ZK83IVY5E33VH8MDMELVK8K", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "FINISHED", "StartTime": 1593489834.765 }, { "NotebookExecutionId": "ex-IZWZXOZF88JWDF9J09GJ91R57VI0N", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "FAILED", "StartTime": 1593488934.688 } ] }
按启动时间和状态列出笔记本的执行情况
list-notebook-executions
命令也可以采用 --status
参数来筛选结果。
# filter by start time and status aws emr --region us-east-1 \ list-notebook-executions --from 1593400000.000 --status FINISHED { "NotebookExecutions": [ { "NotebookExecutionId": "ex-IZWZZVR9DKQ9WQ7VZWXJZR29UGHTE", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "FINISHED", "StartTime": 1593490857.009 }, { "NotebookExecutionId": "ex-IZX009ZK83IVY5E33VH8MDMELVK8K", "EditorId": "e-BKTM2DIHXBEDRU44ANWRKIU8N", "NotebookExecutionName": "my-execution", "Status": "FINISHED", "StartTime": 1593489834.765 } ] }