com.amazonaws.services.gluejobexecutor.model.versionmismatchexception异常

bvhaajcl  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(709)

就像在这个aws论坛的问题,我是同时运行两个工作。作业配置为 Max concurrency: 10 但在执行的时候 job.commit() 我收到此错误消息:

py4j.protocol.Py4JJavaError: An error occurred while calling z:com.amazonaws.services.glue.util.Job.commit.
: com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: 
Continuation update failed due to version mismatch. Expected version 6 but found version 7
(Service: AWSGlueJobExecutor; Status Code: 400; Error Code: VersionMismatchException; Request ID: 123)

这两个作业读取数据的不同部分。
但我不明白这里有什么问题,怎么处理。有人能帮忙吗?

u4dcyp6a

u4dcyp6a1#

报告@bgiannini在aws论坛的另一个问题中的回答,看起来“版本”是指工作书签。
如果同一个作业的多个示例同时运行(即max concurrency>1)并使用书签,则当job run 1运行job.init()时,它会得到一个版本,而job.commit()似乎期望某个值(我猜每个执行的job.commit的版本都是1)。如果作业运行2同时启动,并且从job.init()获得相同的初始版本,则在作业1之前提交job.commit(),则作业1不会增加到预期的版本。
事实上,我是在和 Job bookmark: Enable . 事实上,当禁用书签,看起来是为我工作。
我知道这可能不是最好的解决办法,但它可以是一个很好的妥协。

相关问题