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

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

Jobs

作业 API 介绍与在 AWS Glue 中创建、更新、删除或查看作业相关的数据类型和 API。

数据类型

Job 结构

指定作业定义。

Fields

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

    您分配给该作业定义的名称。

  • Description – 描述串,长度不超过2048帧,与 URI address multi-line string pattern.

    作业的描述。

  • LogUri – UTF-8串。

    将保留该字段,以供将来使用。

  • Role – UTF-8串。

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

  • CreatedOn – 时间戳。

    创建此作业定义的时间和日期。

  • LastModifiedOn – 时间戳。

    修改此作业定义时的最后一个时间点。

  • ExecutionProperty – 安 :ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command – 一个 :JobCommand 对象。

    执行此作业的 JobCommand

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

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

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

    此作业的默认参数,指定为名称-值对。

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

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

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

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

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

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

    此作业的不可覆盖参数,指定为名称-值对。

  • Connections – 一个 :ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 编号(整数)。

    在作业运行失败后重试此作业的最大次数。

  • AllocatedCapacity – 编号(整数)。

    此字段已弃用。请改用 MaxCapacity

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

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

    作业超时(以分钟为单位)。这是作业运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。默认值为 2880 分钟 (48 小时)。

  • MaxCapacity – 数量(双)。

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

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

    可为 MaxCapacity 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业,还是 Apache Spark 流 ETL 作业:

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

    • 当您指定 Apache Spark ETL 作业 (JobCommand.Name="glueetl") 或 Apache Spark 流 ETL 作业 (JobCommand.Name="gluestreaming") 时,您可以分配 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 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16 GB 内存,64 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(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 结构的名称。

  • 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。

ExecutionProperty 结构

作业的执行属性。

Fields

  • MaxConcurrentRuns – 编号(整数)。

    作业允许的最大并发运行数。默认值为 1。达到此阈值时,将返回一个错误。可以指定的最大值由服务限制控制。

NotificationProperty 结构

指定通知的配置属性。

Fields

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

    在作业运行开始后,发送作业运行延迟通知之前等待的分钟数

JobCommand 结构

指定作业运行时执行的代码。

Fields

  • Name – UTF-8串。

    作业命令的名称。对于ApacheSparkETL作业,必须 glueetl。对于Pythonshell作业,它必须是 pythonshell。对于ApacheSpark流式ETL作业,必须 gluestreaming.

  • ScriptLocation – UTF-8串。

    指定执行作业的脚本的 Amazon Simple Storage Service (Amazon S3) 路径。

  • PythonVersion – UTF-8串,与 Custom string pattern #11.

    执行 Python 外壳作业所用的 Python 版本。允许的值为 2 或 3。

ConnectionsList 结构

指定作业所使用的连接。

Fields

  • Connections – UTF-8串。

    作业所使用的连接的列表。

JobUpdate 结构

指定用于更新现有作业定义的信息。此信息会完全覆盖先前的作业定义。

Fields

  • Description – 描述串,长度不超过2048帧,与 URI address multi-line string pattern.

    要定义的作业的描述。

  • LogUri – UTF-8串。

    将保留该字段,以供将来使用。

  • Role – UTF-8串。

    与此作业关联的 IAM 角色的名称或 Amazon Resource Name (ARN)(必填)。

  • ExecutionProperty – 安 :ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command – 一个 :JobCommand 对象。

    执行此作业的 JobCommand(必填)。

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

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

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

    此作业的默认参数。

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

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

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

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

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

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

    此作业的不可覆盖参数,指定为名称-值对。

  • Connections – 一个 :ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 编号(整数)。

    在该作业失败时重试的最大次数。

  • AllocatedCapacity – 编号(整数)。

    此字段已弃用。请改用 MaxCapacity

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

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

    作业超时(以分钟为单位)。这是作业运行在终止并进入 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") 或 Apache Spark 流 ETL 作业 (JobCommand.Name="gluestreaming") 时,您可以分配 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 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16 GB 内存,64 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(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 结构的名称。

  • NotificationProperty – 一个 :NotificationProperty 对象。

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

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

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

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

Operations

CreateJob 操作 (Python: create_job)

创建新的作业定义。

Request

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

    您分配给该作业定义的名称。它在您的账户中必须是唯一的。

  • Description – 描述串,长度不超过2048帧,与 URI address multi-line string pattern.

    要定义的作业的描述。

  • LogUri – UTF-8串。

    将保留该字段,以供将来使用。

  • Role必填: UTF-8串。

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

  • ExecutionProperty – 安 :ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command必填: 一个 :JobCommand 对象。

    执行此作业的 JobCommand

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

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

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

    此作业的默认参数。

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

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

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

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

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

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

    此作业的不可覆盖参数,指定为名称-值对。

  • Connections – 一个 :ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 编号(整数)。

    在该作业失败时重试的最大次数。

  • AllocatedCapacity – 编号(整数)。

    此参数已被弃用。请改用 MaxCapacity

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

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

    作业超时(以分钟为单位)。这是作业运行在终止并进入 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") 或 Apache Spark 流 ETL 作业 (JobCommand.Name="gluestreaming") 时,您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此作业类型不能具有小数 DPU 分配。

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

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

  • Tags – 密钥值对的映射阵列,不超过50对。

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

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

    要用于此作业的标签。您可以使用标签来限制对作业的访问。有关 AWS Glue 中的标签的更多信息,请参阅开发人员指南中的 AWS Glue 中的 AWS 标签

  • 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。

  • NumberOfWorkers – 编号(整数)。

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

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

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

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

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

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16 GB 内存,64 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32 GB 内存,128 GB 磁盘),并且每个工作线程提供 1 个执行器。我们建议内存密集型作业使用该工作线程类型。

Response

Errors

  • InvalidInputException

  • IdempotentParameterMismatchException

  • AlreadyExistsException

  • InternalServiceException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • ConcurrentModificationException

UpdateJob 操作 (Python: update_job)

更新现有的作业定义。

Request

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

    要更新的作业定义的名称。

  • JobUpdate必填: 一个 JobUpdate 对象。

    指定用于更新作业定义的值。

Response

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • ConcurrentModificationException

GetJob 操作 (Python: get_job)

检索现有的作业定义。

Request

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

    要检索的作业定义的名称。

Response

  • Job – 一个 作业 对象。

    请求的作业定义。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobs 操作 (Python: get_jobs)

检索所有当前作业定义。

Request

  • NextToken – UTF-8串。

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

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

    响应的最大大小。

Response

  • Jobs – 一系列 作业 对象。

    作业定义的列表。

  • NextToken – UTF-8串。

    延续令牌 (如果尚未返回所有作业定义)。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

DeleteJob 操作 (Python: delete_job)

删除指定的作业定义。如果找不到该作业定义,则不会引发异常。

Request

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

    要删除的作业定义的名称。

Response

Errors

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

ListJobs 操作(Python:list_jobs)

检索此 AWS 账户中所有作业资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。

此操作采用可选的 Tags 字段,您可以将其用作响应的筛选器,以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选,则仅检索带标签的资源。

Request

  • NextToken – UTF-8串。

    延续令牌 (如果这是延续请求)。

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

    要返回的列表的最大大小。

  • Tags – 密钥值对的映射阵列,不超过50对。

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

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

    指定仅返回这些标记的资源。

Response

  • JobNames – UTF-8串。

    账户中所有作业的名称或带指定标签的作业。

  • NextToken – UTF-8串。

    延续令牌 (如果返回的列表不包含上一个可用的指标)。

Errors

  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

BatchGetJobs 操作(Python:batch_get_jobs)

返回给定作业名称列表的资源元数据的列表。在调用 ListJobs 操作后,您可以调用此操作来访问您有权访问的数据。此操作支持所有 IAM 权限,包括使用标签的权限条件。

Request

  • JobNames必填: UTF-8串。

    作业名称列表,这些名称可能是通过 ListJobs 操作返回的名称。

Response

  • Jobs – 一系列 作业 对象。

    作业定义的列表。

  • JobsNotFound – UTF-8串。

    未找到作业名称的列表。

Errors

  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException