交互式会话 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 #20 匹配。

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

  • Command – 一个 SessionCommand 对象。

    命令对象。请参阅。 SessionCommand

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

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

    每个值都是一个 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 #15 匹配。

    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 字符串(有效值:G.1X="" | G.2X="" | G.4X="" | G.8X="" | Z.2X="")。

    会话运行时分配的预定义工作器类型。对G.8X于 Spark 会话 G.1XG.2X,接受G.4X、、或的值。接受 Ray 会话Z.2X的值。

  • CompletedOn – 时间戳。

    此会话结束的日期和时间。

  • ExecutionTime – 数字(整数)。

    会话运行的总时间。

  • DPUSeconds – 数字(double)。

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

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

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

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

    IAM 角色 ARN

  • Command必填:一个 SessionCommand 对象。

    运行任务的 SessionCommand

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

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

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

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

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

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

    每个值都是一个 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="")。

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

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

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

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

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

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

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

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

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

    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 #21 匹配。

    请求的源。

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

    请求的源。

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

    删除会话请求的源名称。

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

    请求的源。

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

    请求的源。

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

    请求的源。

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

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

响应
  • 无响应参数。

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

    请求的源。

响应
  • Statement – 一个 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 #21 匹配。

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

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

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

响应
  • StatementsStatement 对象的数组。

    返回语句列表。

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

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

错误
  • AccessDeniedException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException

  • IllegalSessionStateException