开始使用 Amazon Glue 交互式会话 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

开始使用 Amazon Glue 交互式会话

以下各节介绍如何在本地运行 Amazon Glue 交互式会话。

在本地设置交互式会话的先决条件

以下是安装交互式会话的先决条件:

  • Python 3.6 或更高版本

  • 有关 MacOS/Linux 和 Windows 的说明请参阅以下部分。

MacOS/Linux 说明

安装 Jupyter 和 Amazon Glue 交互式会话 Jupyter 内核

  1. 使用 pip 安装 jupyter boto3aws-glue-sessions。Jupyter Lab 也兼容,可以改为安装。

    pip3 install --upgrade jupyter boto3 aws-glue-sessions
  2. 以下命令使用 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 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:

  1. 使用 %iam_role%region 魔术命令

  2. ~/.aws/config 中使用其他行

使用魔术命令配置会话角色

在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>

使用 ~/.aws/config 配置会话角色

交互式会话的 Amazon Glue 服务角色可以在笔记本中指定,也可以与 Amazon CLI 配置一起存储。如果您有一个通常用于 Amazon Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 Amazon Glue 任务的角色,请按照本指南为 Amazon Glue 设置 IAM 权限来设置一个角色。

要将此角色设置为交互式会话的默认角色:

  1. 使用文本编辑器,打开 ~/.aws/credentials

  2. 查找用于 Amazon Glue 的配置文件。如果您未使用配置文件,请使用 [Default] 配置文件。

  3. 在配置文件中为您计划使用的角色添加一行,例如 glue_role_arn=<AWSGlueServiceRole>

  4. [可选]:如果您的配置文件没有默认区域设置,我建议使用 region=us-east-1 添加一个,使用您所需的区域替换 us-east-1

  5. 保存配置。

有关更多信息,请参阅 使用 IAM 的交互式会话

运行 Jupyter Notebook

要运行 Jupyter Notebook,请完成以下步骤。

  1. 运行以下命令以启动 Jupyter Notebook。

    jupyter notebook
  2. 选择 New(新建),然后选择其中一个 Amazon Glue 内核以开始针对 Amazon Glue 进行编码。

Windows 说明

安装 Jupyter 和 Amazon Glue 交互式会话内核

  1. 使用 pip 安装 Jupyter。Jupyter Lab 也兼容,可以改为安装。

    pip3 install --upgrade jupyter boto3 aws-glue-sessions
  2. (可选)运行下面的命令以列出已安装的软件包。如果 Jupyter 和 aws-glue-sessions 安装成功,您将看到一长串软件包,包括 Jupyter 1.0.0(或更高版本)。

    pip3 list
  3. 通过运行以下命令将会话内核安装到 Jupyter 中。这些命令将从 pip 查找 aws-glue-sessions 的安装位置,然后在其中安装 Jupyter 内核。

    1. 将目录更改为 python site-packages 目录中的 aws-glue-sessions 安装目录。

      pip3 show aws-glue-sessions | Select-String Location | ConvertFrom-String.p2
    2. Windows PowerShell:

      cd <site-packages Location>\aws_glue_interactive_sessions_kernel\
    3. 安装 Amazon Glue PySpark 和 Amazon Glue Scala 内核。

      jupyter-kernelspec install glue_pyspark
      jupyter-kernelspec install glue_spark

配置会话凭证和区域

Amazon Glue 交互式会话需要的 IAM 权限与 Amazon Glue 任务和开发端点需要的 IAM 权限相同。通过以下两种方式之一指定与交互式会话搭配使用的角色:

  1. 使用 %iam_role%region 魔术命令

  2. ~/.aws/config 中使用其他行

使用魔术命令配置会话角色

在第一个单元格中,键入执行的第一个单元格中的 %iam_role <YourGlueServiceRole>

使用 ~/.aws/config 配置会话角色

交互式会话的 Amazon Glue 服务角色可以在笔记本中指定,也可以与 Amazon CLI 配置一起存储。如果您有一个通常用于 Amazon Glue 任务的角色,则此角色将是该服务角色。如果您没有用于 Amazon Glue 任务的角色,请按照本指南为 Amazon Glue 设置 IAM 权限来设置一个角色。

要将此角色设置为交互式会话的默认角色:

  1. 使用文本编辑器,打开 ~/.aws/credentials

  2. 查找用于 Amazon Glue 的配置文件。如果您未使用配置文件,请使用 [Default] 配置文件。

  3. 在配置文件中为您计划使用的角色添加一行,例如 glue_role_arn=<AWSGlueServiceRole>

  4. [可选]:如果您的配置文件没有默认区域设置,我建议使用 region=us-east-1 添加一个,使用您所需的区域替换 us-east-1

  5. 保存配置。

有关更多信息,请参阅使用 IAM 的交互式会话

运行 Jupyter

要运行 Jupyter Notebook,请完成以下步骤。

  1. 运行以下命令以启动 Jupyter Notebook。

    jupyter notebook
  2. 选择 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/