开始使用 Amazon Glue 交互式会话
以下各节介绍如何在本地运行 Amazon Glue 交互式会话。
在本地设置交互式会话的先决条件
以下是安装交互式会话的先决条件:
-
Python 3.6 或更高版本
-
有关 MacOS/Linux 和 Windows 的说明请参阅以下部分。
MacOS/Linux 说明
安装 Jupyter 和 Amazon Glue 交互式会话 Jupyter 内核
-
使用 pip 安装
jupyter boto3
和aws-glue-sessions
。Jupyter Lab 也兼容,可以改为安装。pip3 install
--upgrade jupyter boto3 aws-glue-sessions
-
以下命令使用
pip
确定aws-glue-sessions
的安装位置。关联的botocore
随后安装 Jupyter 内核。SITE_PACKAGES=$(pip3 show aws-glue-sessions | grep Location | awk '{print $2}') jupyter kernelspec install $SITE_PACKAGES/aws_glue_interactive_sessions_kernel/glue_pyspark jupyter kernelspec install $SITE_PACKAGES/aws_glue_interactive_sessions_kernel/glue_spark
配置会话凭证和区域
Amazon Glue 交互式会话需要的 IAM 权限与 Amazon Glue 任务和开发端点需要的 IAM 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:
-
使用
%iam_role
和%region
魔术命令 -
在
~/.aws/config
中使用其他行
使用魔术命令配置会话角色
在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>
。
使用 ~/.aws/config
配置会话角色
交互式会话的 Amazon Glue 服务角色可以在笔记本中指定,也可以与 Amazon CLI 配置一起存储。如果您有一个通常用于 Amazon Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 Amazon Glue 任务的角色,请按照本指南为 Amazon Glue 设置 IAM 权限来设置一个角色。
要将此角色设置为交互式会话的默认角色:
-
使用文本编辑器,打开
~/.aws/credentials
。 -
查找用于 Amazon Glue 的配置文件。如果您未使用配置文件,请使用
[Default]
配置文件。 -
在配置文件中为您计划使用的角色添加一行,例如
glue_role_arn=<AWSGlueServiceRole>
。 -
[可选]:如果您的配置文件没有默认区域设置,我建议使用
region=us-east-1
添加一个,使用您所需的区域替换us-east-1
。 -
保存配置。
有关更多信息,请参阅 使用 IAM 的交互式会话。
运行 Jupyter Notebook
要运行 Jupyter Notebook,请完成以下步骤。
-
运行以下命令以启动 Jupyter Notebook。
jupyter notebook
-
选择 New(新建),然后选择其中一个 Amazon Glue 内核以开始针对 Amazon Glue 进行编码。
Windows 说明
安装 Jupyter 和 Amazon Glue 交互式会话内核
-
使用
pip
安装 Jupyter。Jupyter Lab 也兼容,可以改为安装。pip3 install
--upgrade jupyter boto3 aws-glue-sessions
-
(可选)运行下面的命令以列出已安装的软件包。如果 Jupyter 和
aws-glue-sessions
安装成功,您将看到一长串软件包,包括 Jupyter 1.0.0(或更高版本)。pip3 list
-
通过运行以下命令将会话内核安装到 Jupyter 中。这些命令将从 pip 查找
aws-glue-sessions
的安装位置,然后在其中安装 Jupyter 内核。-
将目录更改为 python
site-packages
目录中的aws-glue-sessions
安装目录。pip3 show aws-glue-sessions | Select-String Location | ConvertFrom-String.p2
-
Windows PowerShell:
cd <site-packages Location>\aws_glue_interactive_sessions_kernel\
-
安装 Amazon Glue PySpark 和 Amazon Glue Scala 内核。
jupyter-kernelspec install glue_pyspark
jupyter-kernelspec install glue_spark
-
配置会话凭证和区域
Amazon Glue 交互式会话需要的 IAM 权限与 Amazon Glue 任务和开发端点需要的 IAM 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:
-
使用
%iam_role
和%region
魔术命令 -
在
~/.aws/config
中使用其他行
使用魔术命令配置会话角色
在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>
。
使用 ~/.aws/config
配置会话角色
交互式会话的 Amazon Glue 服务角色可以在笔记本中指定,也可以与 Amazon CLI 配置一起存储。如果您有一个通常用于 Amazon Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 Amazon Glue 任务的角色,请按照本指南为 Amazon Glue 设置 IAM 权限来设置一个角色。
要将此角色设置为交互式会话的默认角色:
-
使用文本编辑器,打开
~/.aws/credentials
。 -
查找用于 Amazon Glue 的配置文件。如果您未使用配置文件,请使用
[Default]
配置文件。 -
在配置文件中为您计划使用的角色添加一行,例如
glue_role_arn=<AWSGlueServiceRole>
。 -
[可选]:如果您的配置文件没有默认区域设置,我建议使用
region=us-east-1
添加一个,使用您所需的区域替换us-east-1
。 -
保存配置。
有关更多信息,请参阅使用 IAM 的交互式会话。
运行 Jupyter
要运行 Jupyter Notebook,请完成以下步骤。
-
运行以下命令以启动 Jupyter Notebook。
jupyter notebook
-
选择 New(新建),然后选择其中一个 Amazon Glue 内核以开始针对 Amazon Glue 进行编码。
从交互式会话预览版升级
在与版本 0.27 一起发布时,内核已使用新名称进行了升级。要清理内核的预览版本,请从终端或 PowerShell 运行以下命令。
如果您使用需要自定义服务模型的任何其他 Amazon Glue 预览版本,则删除内核将会删除自定义服务模型。
# Remove Old Glue Kernels jupyter kernelspec remove glue_python_kernel jupyter kernelspec remove glue_scala_kernel # Remove Custom Model cd ~/.aws/models rm -rf glue/