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

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

交互式会话 API

交互式会话 API 描述了与使用 Amazon Glue 交互式会话来构建和测试用于数据集成的提取、转换和加载 (ETL) 脚本相关的 Amazon Glue API。

数据类型

Session 结构

远程 Spark 运行时环境的运行时段。

字段
  • Id – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    会话 ID。

  • CreatedOn – 时间戳。

    创建会话的日期和时间。

  • Status – UTF-8 字符串(有效值:PROVISIONING | READY | FAILED | TIMEOUT | STOPPING | STOPPED)。

    会话状态。

  • ErrorMessage – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    会话期间显示的错误消息。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    会话描述。

  • Role – UTF-8 字符串,不少于 20 个字节,不超过 2048 个字节,与 Custom string pattern #21 匹配。

    与此会话关联的 IAM 角色的名称或 Amazon Resource Name (ARN)。

  • Command – 一个 SessionCommand 对象。

    命令对象。请参阅。 SessionCommand

  • DefaultArguments – 键值对的映射数组,不超过 75 对。

    每个键是一个 UTF-8 字符串,不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    每个值都是一个 UTF-8 字符串,长度不超过 4096 个字节,与 URI address multi-line string pattern 匹配。

    键值对的映射数组。最多 75 对。

  • Connections – 一个 ConnectionsList 对象。

    用于会话的连接数。

  • Progress – 数字(double)。

    会话的代码执行进度。

  • MaxCapacity – 数字(double)。

    作业运行时可以分配 Amazon Glue 的数据处理单元 (DPU) 的数量。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要用于会话的 SecurityConfiguration 结构的名称。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Custom string pattern #15 匹配。

    该 Amazon Glue 版本决定了 Amazon Glue 支持的 Apache Spark 和 Python 版本。 GlueVersion 必须大于 2.0。

  • DataAccessId – UTF-8 字符串,长度不少于 1 个字节,不超过 36 个字节。

    会话的数据访问 ID。

  • PartitionId – UTF-8 字符串,长度不少于 1 个字节,不超过 36 个字节。

    会话的分区 ID。

  • NumberOfWorkers – 数字(整数)。

    用于会话的已定义 WorkerType 的工件数量。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    会话运行时分配的预定义工作线程的类型。接受 G.1XG.2XG.4XG.8X for Spark 会话的值。接受 Z.2X for Ray 的值。

  • CompletedOn – 时间戳。

    此会话的完成日期和时间。

  • ExecutionTime – 数字(double)。

    会话运行的总时间。

  • DPUSeconds – 数字(double)。

    会话消耗的 DPU(公式: ExecutionTime * MaxCapacity)。

  • IdleTimeout – 数字(整数)。

    会话超时前的空闲分钟数。

  • ProfileName – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    与会话关联的 Amazon Glue 使用情况配置文件的名称。

SessionCommand 结构

运行任务的 SessionCommand

字段
  • Name – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    指定名称 SessionCommand。可以是“gluetel”或“gluestreaming”。

  • PythonVersion – UTF-8 字符串,与 Custom string pattern #16 匹配。

    指定 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。

Statement 结构

在会话中实现特定操作的语句或请求。

字段
  • Id – 数字(整数)。

    语句的 ID。

  • Code – UTF-8 字符串。

    语句的执行代码。

  • State – UTF-8 字符串(有效值:WAITING | RUNNING | AVAILABLE | CANCELLING | CANCELLED | ERROR)。

    执行请求时的状态。

  • Output – 一个 StatementOutput 对象。

    JSON 中的输出。

  • Progress – 数字(double)。

    代码执行进度。

  • StartedOn – 数字(长型)。

    任务定义开始的 Unix 时间和日期。

  • CompletedOn – 数字(长型)。

    任务定义完成的 Unix 时间和日期。

StatementOutput 结构

JSON 格式的代码执行输出。

字段
  • Data – 一个 StatementOutputData 对象。

    代码执行输出。

  • ExecutionCount – 数字(整数)。

    输出的执行计数。

  • Status – UTF-8 字符串(有效值:WAITING | RUNNING | AVAILABLE | CANCELLING | CANCELLED | ERROR)。

    代码执行输出的状态。

  • ErrorName – UTF-8 字符串。

    输出中的错误名称。

  • ErrorValue – UTF-8 字符串。

    输出的错误值。

  • Traceback – UTF-8 字符串数组。

    输出的回溯。

StatementOutputData 结构

JSON 格式的代码执行输出。

字段
  • TextPlain – UTF-8 字符串。

    文本格式的代码执行输出。

操作

CreateSession 操作(Python:create_session)

创建新的会话。

请求

请求创建新的会话。

  • Id必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    会话请求 ID。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    会话描述。

  • Role必需:UTF-8 字符串,长度不少于 20 个字节,不超过 2048 个字节,与 Custom string pattern #21 匹配。

    IAM 角色 ARN

  • Command必填:一个 SessionCommand 对象。

    运行任务的 SessionCommand

  • Timeout - 数字(整数),至少为 1。

    会话超时前的分钟数。Spark ETL 作业的默认值为 48 小时(2880 分钟),是该作业类型的最大会话存在期。有关其他作业类型,请查阅文档。

  • IdleTimeout - 数字(整数),至少为 1。

    会话超时前的空闲分钟数。Spark ETL 作业的默认值为“超时”。有关其他作业类型,请查阅文档。

  • DefaultArguments – 键值对的映射数组,不超过 75 对。

    每个键是一个 UTF-8 字符串,不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    每个值都是一个 UTF-8 字符串,长度不超过 4096 个字节,与 URI address multi-line string pattern 匹配。

    键值对的映射数组。最多 75 对。

  • Connections – 一个 ConnectionsList 对象。

    用于会话的连接数。

  • MaxCapacity – 数字(double)。

    作业运行时可以分配 Amazon Glue 的数据处理单元 (DPU) 的数量。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。

  • NumberOfWorkers – 数字(整数)。

    用于会话的已定义 WorkerType 的工件数量。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    任务运行时分配的预定义工作线程的类型。接受 G.1X、G.2X、G.4X 或 G.8X for Spark 作业的值。接受 Ray 笔记本的值 Z.2X。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32GB 内存),128GB 磁盘(77GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.4X 工作线程类型,每个工作线程映射到 4 个 DPU(16 个 vCPU,64GB 内存),256GB 磁盘(235GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作人员类型仅适用于以下 Amazon 区域的 3.0 或更高 Amazon Glue 版本的 Spark ETL 职位:美国东部(俄亥俄州)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)和欧洲(斯德哥尔摩)。

    • 对于 G.8X 工作线程类型,每个工作线程映射到 8 个 DPU(32 个 vCPU,128GB 内存),512GB 磁盘(487GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作器类型仅适用于 3.0 或更高 Amazon Glue 版本的 Spark ETL 作业,其 Amazon 区域与该G.4X工作人员类型支持的区域相同。

    • 对于 Z.2X 工作线程类型,每个工作线程映射到 2 个 M-DPU(8 个 vCPU,64 GB 内存),128GB 磁盘(120GB 可用空间),基于自动缩放器,最多提供 8 个 Ray 工作线程。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要用于会话的 SecurityConfiguration 结构的名称

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Custom string pattern #15 匹配。

    该 Amazon Glue 版本决定了 Amazon Glue 支持的 Apache Spark 和 Python 版本。 GlueVersion 必须大于 2.0。

  • DataAccessId – UTF-8 字符串,长度不少于 1 个字节,不超过 36 个字节。

    会话的数据访问 ID。

  • PartitionId – UTF-8 字符串,长度不少于 1 个字节,不超过 36 个字节。

    会话的分区 ID。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    属于会话的键值对(标签)的映射。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

  • ProfileName – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    与会话关联的 Amazon Glue 使用情况配置文件的名称。

响应
  • Session – 一个 会话 对象。

    返回响应中的会话对象。

错误
  • AccessDeniedException

  • IdempotentParameterMismatchException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

StopSession 动作(Python:停止会话)

停止会话。

请求
  • Id必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要停止的会话 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

响应
  • Id – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    返回已停止会话的 ID。

错误
  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

  • ConcurrentModificationException

DeleteSession 操作(Python:删除会话)

删除会话。

请求
  • Id必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要删除的会话 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    删除会话请求的源名称。

响应
  • Id – UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    返回要删除会话 ID。

错误
  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

  • ConcurrentModificationException

GetSession 动作(Python:get_session)

检索会话。

请求
  • Id必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    会话 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

响应
  • Session – 一个 会话 对象。

    响应中会返回会话对象。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

ListSessions 动作(Python:列表会话)

检索会话列表。

请求
  • NextToken – UTF-8 字符串,长度不超过 400000 个字节。

    下一组结果的令牌,没有更多结果时为 null。

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    最大结果数量。

  • Tags – 键值对的映射数组,不超过 50 对。

    每个键都是一个 UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节。

    每个值是一个 UTF-8 字符串,不超过 256 个字节。

    属于会话的标签。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

响应
  • Ids – UTF-8 字符串数组。

    返回会话 ID。

  • Sessions会话 对象的数组。

    返回会话对象。

  • NextToken – UTF-8 字符串,长度不超过 400000 个字节。

    下一组结果的令牌,没有更多结果时为 null。

错误
  • AccessDeniedException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

RunStatement 动作(Python:run_statement)

执行语句。

请求
  • SessionId必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要运行的语句的会话 ID。

  • Code必需: UTF-8 字符串,长度不超过 68000 个字节。

    要运行的语句代码。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

响应
  • Id – 数字(整数)。

    返回所运行的语句的 ID。

错误
  • EntityNotFoundException

  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

  • ResourceNumberLimitExceededException

  • IllegalSessionStateException

CancelStatement 操作(Python:取消语句)

取消语句。

请求
  • SessionId必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    要取消的语句的会话 ID。

  • Id必填:数字(整数)。

    要取消的语句的 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    用于取消语句的请求的源。

响应
  • 无响应参数。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

GetStatement 动作(Python:get_statement)

检索语句。

请求
  • SessionId必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    语句的会话 ID。

  • Id必填:数字(整数)。

    语句的 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    请求的源。

响应
  • Statement – 一个 语句 对象。

    返回语句。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

ListStatements 动作(Python:列表语句)

列出会话的语句。

请求
  • SessionId必填:UTF-8 字符串,长度不少于 1 个字节,不超过 255 个字节,与 Single-line string pattern 匹配。

    语句的会话 ID。

  • RequestOrigin – UTF-8 字符串,长度不少于 1 个字节或超过 128 个字节,与 Custom string pattern #22 匹配。

    用于列出语句的请求的源。

  • NextToken – UTF-8 字符串,长度不超过 400000 个字节。

    延续标记 (如果这是延续调用)。

响应
  • Statements语句 对象的数组。

    返回语句列表。

  • NextToken – UTF-8 字符串,长度不超过 400000 个字节。

    延续令牌(如果尚未返回所有语句)。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException