交互式会话 API - AWS Glue

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

交互式会话 API

交互式会话 API 描述与使用 AWS Glue 交互式会话构建和测试数据集成的提取、转换和加载 (ETL) 脚本相关的 AWS 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 #26 匹配。

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

  • Command – 一个 SessionCommand 对象。

    命令对象。请参阅 SessionCommand。

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

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

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

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

  • Connections – 一个 ConnectionsList 对象。

    用于会话的连接数。

  • Progress – 数字(double)。

    会话的代码执行进度。

  • MaxCapacity – 数字(double)。

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

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

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

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

    AWS Glue 版本决定了 AWS 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(公式:执行时间 * 最大容量)。

  • IdleTimeout – 数字(整数)。

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

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

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

SessionCommand 结构

运行任务的 SessionCommand

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

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

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

    指定 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 字符串。

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

ConnectionsList 结构

指定作业所使用的连接。

字段
  • Connections – 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 #26 匹配。

    IAM 角色 ARN

  • Command必填:一个 SessionCommand 对象。

    运行任务的 SessionCommand

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

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

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

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

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

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

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

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

  • Connections – 一个 ConnectionsList 对象。

    用于会话的连接数。

  • MaxCapacity – 数字(double)。

    任务运行时可分配的 AWS 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 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。

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

    • 对于 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 #20 匹配。

    AWS Glue 版本决定了 AWS 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 #27 匹配。

    请求的源。

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

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

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

    返回响应中的会话对象。

错误
  • AccessDeniedException

  • IdempotentParameterMismatchException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

StopSession 操作(Python:stop_session)

停止会话。

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

    要停止的会话 ID。

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

    请求的源。

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

    返回已停止会话的 ID。

错误
  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

  • ConcurrentModificationException

DeleteSession 操作(Python:delete_session)

删除会话。

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

    要删除的会话 ID。

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

    删除会话请求的源名称。

响应
  • 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 #27 匹配。

    请求的源。

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

    响应中会返回会话对象。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

ListSession 操作(Python:list_ession)

检索会话列表。

请求
  • 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 #27 匹配。

    请求的源。

响应
  • 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 #27 匹配。

    请求的源。

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

    返回所运行的语句的 ID。

错误
  • EntityNotFoundException

  • AccessDeniedException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • ValidationException

  • ResourceNumberLimitExceededException

  • IllegalSessionStateException

CancelStatement 操作(Python:cancel_statement)

取消语句。

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

    要取消的语句的会话 ID。

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

    要取消的语句的 ID。

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

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

响应
  • 无响应参数。

错误
  • 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 #27 匹配。

    请求的源。

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

    返回语句。

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException

ListStatements 操作(Python:list_statements)

列出会话的语句。

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

    语句的会话 ID。

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

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

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

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

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

    返回语句列表。

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

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

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException