跳至内容

为什么即使开启了作业书签,我的 AWS Glue ETL 作业仍会重新处理数据?

1 分钟阅读
0

我为 AWS Glue 作业开启了作业书签,但作业仍会重新处理我的数据。

解决方法

以下是即使您开启了作业书签也会导致提取、转换、加载 (ETL) 作业重新处理数据的常见原因:

  • 您有多个带有作业书签的并发作业,并且最大并发量未设置为 1。

  • 在 AWS Glue ETL 脚本开头,job.init() 对象缺失或不会被调用:

    job.init(args['JOB_NAME'], args)
  • 在该脚本末尾,job.commit() 对象缺失或不会被调用:

    job.commit()
  • 每个 ETL 运算符实例的 transformation_ctx 参数缺失或不是唯一:

    datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "db_name", table_name = "table_name", transformation_ctx = "datasource0")
  • 表的主键不是按顺序排列的(仅限 JDBC 连接)。

  • 源数据在您上次运行作业后进行了修改。

  • 该作业使用 Spark DataFrame,但是 Spark DataFrames 不支持 AWS Glue 作业书签功能。

有关这些问题的详细信息,请参阅错误: 当作业书签开启时,作业正在重新处理数据

相关信息

使用作业书签跟踪已处理的数据

AWS 官方已更新 1 年前