以下各节介绍如何在本地运行 AWS Glue 交互式会话。
在本地设置交互式会话的先决条件
以下是安装交互式会话的先决条件:
-
支持的 Python 版本为 3.6 - 3.10+。
-
有关 MacOS/Linux 和 Windows 的说明请参阅以下部分。
安装 Jupyter 和 AWS Glue 交互式会话 Jupyter 内核
使用以下命令在本地安装内核。
命令 install-glue-kernels
安装适用于 pyspark 和 spark 内核的 jupyter kernelspec,并在正确的目录中安装徽标。
pip3 install --upgrade jupyter boto3 aws-glue-sessions
install-glue-kernels
运行 Jupyter
要运行 Jupyter Notebook,请完成以下步骤。
-
运行以下命令以启动 Jupyter Notebook。
jupyter notebook
-
选择 New(新建),然后选择其中一个 AWS Glue 内核以开始针对 AWS Glue 进行编码。
配置会话凭证和区域
MacOS/Linux 说明
AWS Glue 交互式会话需要的 IAM 权限与 AWS Glue 任务和开发端点需要的 IAM 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:
-
使用
%iam_role
和%region
魔术命令 -
在
~/.aws/config
中使用其他行
使用魔术命令配置会话角色
在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>
。
使用 ~/.aws/config
配置会话角色
交互式会话的 AWS Glue 服务角色可以在笔记本中指定,也可以与 AWS CLI 配置一起存储。如果您有一个通常用于 AWS Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 AWS Glue 作业的角色,请按照本指南为 AWS Glue 配置 IAM 权限来设置一个角色。
要将此角色设置为交互式会话的默认角色:
-
使用文本编辑器,打开
~/.aws/config
。 -
查找用于 AWS Glue 的配置文件。如果您未使用配置文件,请使用
[Default]
配置文件。 -
在配置文件中为您计划使用的角色添加一行,例如
glue_role_arn=<AWSGlueServiceRole>
。 -
[可选]:如果您的配置文件没有默认区域设置,我建议使用
region=us-east-1
添加一个,使用您所需的区域替换us-east-1
。 -
保存配置。
有关更多信息,请参阅 使用 IAM 的交互式会话。
Windows 说明
AWS Glue 交互式会话需要的 IAM 权限与 AWS Glue 任务和开发端点需要的 IAM 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:
-
使用
%iam_role
和%region
魔术命令 -
在
~/.aws/config
中使用其他行
使用魔术命令配置会话角色
在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>
。
使用 ~/.aws/config
配置会话角色
交互式会话的 AWS Glue 服务角色可以在笔记本中指定,也可以与 AWS CLI 配置一起存储。如果您有一个通常用于 AWS Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 AWS Glue 任务的角色,请按照本指南为 AWS Glue 设置 IAM 权限来设置一个角色。
要将此角色设置为交互式会话的默认角色:
-
使用文本编辑器,打开
~/.aws/config
。 -
查找用于 AWS Glue 的配置文件。如果您未使用配置文件,请使用
[Default]
配置文件。 -
在配置文件中为您计划使用的角色添加一行,例如
glue_role_arn=<AWSGlueServiceRole>
。 -
[可选]:如果您的配置文件没有默认区域设置,我建议使用
region=us-east-1
添加一个,使用您所需的区域替换us-east-1
。 -
保存配置。
有关更多信息,请参阅 使用 IAM 的交互式会话。
从交互式会话预览版升级
在与版本 0.27 一起发布时,内核已使用新名称进行了升级。要清理内核的预览版本,请从终端或 PowerShell 运行以下命令。
注意
如果您使用需要自定义服务模型的任何其他 AWS 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/