作业运行 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

作业运行

作业运行 API 介绍 AWS Glue 中与启动、停止或查看作业运行以及重置作业书签相关的数据类型和 API。

数据类型

JobRun 结构

包含有关作业运行的信息。

Fields

  • Id – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    此作业运行的 ID。

  • Attempt – 编号(整数)。

    尝试运行此作业的次数。

  • PreviousRunId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    此作业以前运行时的 ID。例如,StartJobRun 操作中指定的 JobRunId

  • TriggerName – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    启动此作业运行的触发器的名称。

  • JobName – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    此运行中使用的作业定义的名称。

  • StartedOn – 时间戳。

    此作业运行的启动日期和时间。

  • LastModifiedOn – 时间戳。

    此作业运行的上次修改时间。

  • CompletedOn – 时间戳。

    此作业运行的完成日期和时间。

  • JobRunState – UTF-8串(有效值: STARTING | RUNNING | STOPPING | STOPPED | SUCCEEDED | FAILED | TIMEOUT)。

    作业运行的当前状态。

  • Arguments – 密钥值对的映射阵列。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    与此运行关联的作业参数。对于此作业运行,它们会替换作业定义本身中的默认参数集。

    您可以在此处指定您自己的作业执行脚本使用的参数以及 AWS Glue 本身使用的参数。

    有关如何指定和使用您自己的作业参数的信息,请参阅开发人员指南中的在 Python 中调用 AWS Glue API 主题。

    有关 AWS Glue 用于设置作业的键-值对的信息,请参阅开发人员指南中的由 AWS Glue 使用的特殊参数主题。

  • ErrorMessage – UTF-8串。

    与此作业运行关联的错误消息。

  • PredecessorRuns – 一系列 Predecessor 对象。

    此作业运行的前身列表。

  • AllocatedCapacity – 编号(整数)。

    此字段已弃用。请改用 MaxCapacity

    分配给此 JobRun 的 AWS Glue 数据处理单元 (DPU) 的数量。可以分配 2 到 100 个 DPU;默认值为 10。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 定价页

  • ExecutionTime – 编号(整数)。

    作业运行使用资源的时间长度 (以秒为单位)。

  • Timeout – 编号(整数),至少1个。

    JobRun 超时(分钟) 这是作业运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。默认值为 2880 分钟 (48 小时)。此值会覆盖父作业中设置的超时值。

  • MaxCapacity – 数量(双)。

    此作业运行时可分配的 AWS Glue 数据处理单元 (DPU) 的数量。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 定价页

    如果使用 WorkerTypeNumberOfWorkers,请勿设置 Max Capacity

    可为 MaxCapacity 分配的值取决于您是否运行 Python shell 作业或 Apache Spark ETL 作业:

    • 当您指定 Python shell 作业 (JobCommand.Name="pythonshell"),您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。

    • 当您指定 Apache Spark ETL 作业 (JobCommand.Name="glueetl") 时,可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此作业类型不能具有小数 DPU 分配。

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

    作业运行时分配的预定义工作线程的类型。接受的值为 Standard、G.1X 或 G.2X。

    • 对于 Standard 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 50GB 磁盘,并且每个工作线程提供 2 个执行器。

    • 对于 G.1X 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 64 GB 磁盘,并且每个工作线程提供 1 个执行器。

    • 对于 G.2X 工作线程类型,每个工作线程提供 8 个 vCPU、32 GB 内存和 128 GB 磁盘,并且每个工作线程提供 1 个执行器。

  • NumberOfWorkers – 编号(整数)。

    作业运行时分配的定义 workerType 的工作线程数。

    您可以定义的最大工作线程数是 299 (G.1X),以及 149 (G.2X)。

  • SecurityConfiguration – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    运行该作业将使用的 SecurityConfiguration 结构的名称。

  • LogGroupName – UTF-8串。

    用于进行安全日志记录的日志组的名称,可在 Amazon CloudWatch 中使用 AWS KMS 进行服务器端加密。该名称可以是 /aws-glue/jobs/,在这种情况下,默认加密是 NONE。如果您添加角色名称和 SecurityConfiguration 名称(换句话说, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/),则安全配置用于加密日志组。

  • NotificationProperty – 一个 :NotificationProperty 对象。

    指定作业运行通知的配置属性。

  • GlueVersion – UTF-8串,长度不小于1或超过255帧,与 Custom string pattern #13.

    Glue 版本决定 AWS Glue 支持的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的作业支持的版本。

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的作业默认为 Glue 0.9。

Predecessor 结构

在触发此作业运行的条件触发器的谓词中使用的作业运行。

Fields

  • JobName – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    作业运行前身使用的作业定义的名称。

  • RunId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    作业运行前身的作业运行 ID。

JobBookmarkEntry 结构

定义作业可以恢复处理的点。

Fields

  • JobName – UTF-8串。

    相关作业的名称。

  • Version – 编号(整数)。

    作业的版本。

  • Run – 编号(整数)。

    运行 ID 号。

  • Attempt – 编号(整数)。

    尝试 ID 号。

  • PreviousRunId – UTF-8串。

    与上次作业运行关联的唯一运行标识符。

  • RunId – UTF-8串。

    运行 ID 号。

  • JobBookmark – UTF-8串。

    书签本身。

BatchStopJobRunSuccessfulSubmission 结构

记录成功的对停止指定 JobRun 的请求。

Fields

  • JobName – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    已停止的作业运行中使用的作业定义的名称。

  • JobRunId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    已停止的作业运行的 JobRunId

BatchStopJobRunError 结构

记录在尝试停止指定的作业运行时出现的错误。

Fields

  • JobName – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    相关作业运行中使用的作业定义的名称。

  • JobRunId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    相关作业运行的 JobRunId

  • ErrorDetail – 安 ErrorDetail 对象。

    指定有关遇到的错误的详细信息。

Operations

StartJobRun 操作 (Python:start_job_run)

使用作业定义启动作业运行。

Request

  • JobName必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要使用的作业定义的名称。

  • JobRunId – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要重试的以前的 JobRun 的 ID。

  • Arguments – 密钥值对的映射阵列。

    每个键是一个 UTF-8 字符串。

    每个值是一个 UTF-8 字符串。

    专门针对此运行的作业参数。对于此作业运行,它们会替换作业定义本身中的默认参数集。

    您可以在此处指定您自己的作业执行脚本使用的参数以及 AWS Glue 本身使用的参数。

    有关如何指定和使用您自己的作业参数的信息,请参阅开发人员指南中的在 Python 中调用 AWS Glue API 主题。

    有关 AWS Glue 用于设置作业的键-值对的信息,请参阅开发人员指南中的由 AWS Glue 使用的特殊参数主题。

  • AllocatedCapacity – 编号(整数)。

    此字段已弃用。请改用 MaxCapacity

    要分配给此 JobRun 的 AWS Glue 数据处理单元 (DPU) 的数量。可以分配 2 到 100 个 DPU;默认值为 10。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 定价页

  • Timeout – 编号(整数),至少1个。

    JobRun 超时(分钟) 这是作业运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。默认值为 2880 分钟 (48 小时)。此值会覆盖父作业中设置的超时值。

  • MaxCapacity – 数量(双)。

    此作业运行时可分配的 AWS Glue 数据处理单元 (DPU) 的数量。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 定价页

    如果使用 WorkerTypeNumberOfWorkers,请勿设置 Max Capacity

    可为 MaxCapacity 分配的值取决于您是否运行 Python shell 作业或 Apache Spark ETL 作业:

    • 当您指定 Python shell 作业 (JobCommand.Name="pythonshell"),您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。

    • 当您指定 Apache Spark ETL 作业 (JobCommand.Name="glueetl") 时,可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此作业类型不能具有小数 DPU 分配。

  • SecurityConfiguration – UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    运行该作业将使用的 SecurityConfiguration 结构的名称。

  • NotificationProperty – 一个 :NotificationProperty 对象。

    指定作业运行通知的配置属性。

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

    作业运行时分配的预定义工作线程的类型。接受的值为 Standard、G.1X 或 G.2X。

    • 对于 Standard 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 50GB 磁盘,并且每个工作线程提供 2 个执行器。

    • 对于 G.1X 工作线程类型,每个工作线程提供 4 个 vCPU、16 GB 内存和 64 GB 磁盘,并且每个工作线程提供 1 个执行器。

    • 对于 G.2X 工作线程类型,每个工作线程提供 8 个 vCPU、32 GB 内存和 128 GB 磁盘,并且每个工作线程提供 1 个执行器。

  • NumberOfWorkers – 编号(整数)。

    作业运行时分配的定义 workerType 的工作线程数。

    您可以定义的最大工作线程数是 299 (G.1X),以及 149 (G.2X)。

Response

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • ConcurrentRunsExceededException

BatchStopJobRun 操作 (Python:batch_stop_job_run)

停止指定的作业定义的一个或多次作业运行。

Request

  • JobName必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要停止其作业运行的作业定义的名称。

  • JobRunIds必填: UTF-8串,不小于1或多于25个串。

    应为该作业定义停止的 JobRunIds 列表。

Response

  • SuccessfulSubmissions – 一系列 BatchStopJobRunSuccessfulSubmission 对象。

    已成功提交的要停止的 JobRun 列表。

  • Errors – 一系列 BatchStopJobRunError 对象。

    尝试停止 JobRuns 时遇到的错误列表,包括遇到每个错误的 JobRunId 和有关错误的详细信息。

Errors

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

GetJobRun 操作 (Python:get_job_run)

检索给定作业运行的元数据。

Request

  • JobName必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    正在运行的作业定义的名称。

  • RunId必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    作业运行的 ID。

  • PredecessorsIncluded – 布尔值

    如果应返回运行前身的列表,则为 True。

Response

  • JobRun – 一个 JobRun 对象。

    请求的作业运行元数据。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobRuns 操作 (Python:get_job_runs)

检索给定作业定义的所有运行的元数据。

Request

  • JobName必填: UTF-8串,长度不小于1或超过255帧,与 Single-line string pattern.

    要检索其所有作业运行的作业定义的名称。

  • NextToken – UTF-8串。

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

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

    响应的最大大小。

Response

  • JobRuns – 一系列 JobRun 对象。

    作业运行元数据对象的列表。

  • NextToken – UTF-8串。

    延续令牌(如果尚未返回所有请求的作业运行)。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobBookmark 操作 (Python: get_job_bookmark)

返回有关作业书签条目的信息。

Request

  • JobName必填: UTF-8串。

    相关作业的名称。

  • Version – 编号(整数)。

    作业的版本。

  • RunId – UTF-8串。

    与此作业运行关联的唯一运行标识符。

Response

  • JobBookmarkEntry – 一个 JobBookmarkEntry 对象。

    用于定义作业可以恢复处理的点的结构。

Errors

  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • ValidationException

GetJobBookmarks 操作 (Python: get_job_bookmarks)

返回有关作业书签条目的信息。该列表按版本号递减的顺序排列。

Request

  • JobName必填: UTF-8串。

    相关作业的名称。

  • MaxResults – 编号(整数)。

    响应的最大大小。

  • NextToken – 编号(整数)。

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

Response

  • JobBookmarkEntries – 一系列 JobBookmarkEntry 对象。

    用于定义作业可以恢复处理的点的作业书签条目列表。

  • NextToken – 编号(整数)。

    延续令牌,如果返回所有条目,则其值为 1;如果未返回所有请求的作业运行,则其值 > 1。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

ResetJobBookmark 操作 (Python:reset_job_bookmark)

重置书签条目。

Request

  • JobName必填: UTF-8串。

    相关作业的名称。

  • RunId – UTF-8串。

    与此作业运行关联的唯一运行标识符。

Response

  • JobBookmarkEntry – 一个 JobBookmarkEntry 对象。

    重置的书签条目。

Errors

  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException