Glue - 为更新错误生成了结果集
Glue - A result set was generated for update error
我正在使用 Glue 向 RDS Sql 服务器实例插入简单数据框。
最后一行(共 8 行)未插入并抛出错误:
FAILED: table_name, Exception: An error occurred while calling o216.pyWriteDynamicFrame. : org.apache.spark.SparkException:
Job aborted due to stage failure: Task 15 in stage 4.0 failed 4 times, most recent failure: Lost task 15.3 in stage 4.0 (TID 35, 10.234.42.138, executor 1): java.sql.BatchUpdateException: A result set was generated for update.
我检查了 table 的结构、约束、索引、失败环境 (dev) 和其余环境之间的触发器,没有发现任何差异。此外,我排除了 Glue/Python 的问题,因为我在工作中的 function.py
用于所有环境。
来自 SQ:Server profiler 我可以确认插入被重试了 4 次并获得了额外的日志:
declare @p1 int
set @p1=1
exec sp_prepexec @p1 output,N'@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 bigint,N'INSERT INTO [schema].[table] ("col","col","col") VALUES (@P0,@P1,@P2) ',N'xyz',N'xyz',7,N'xyz'
select @p1
exec sp_unprepare 1
IF @@TRANCOUNT > 0 ROLLBACK TRAN
感谢您就进一步改进的建议...
暂时以下解决方法完成了工作:
- 在 table
上禁用触发器
- 截断 table
- Re-run 胶水作业,填充数据
- 启用触发器
- Re-run 再次粘贴作业,数据现在已更新
我正在使用 Glue 向 RDS Sql 服务器实例插入简单数据框。
最后一行(共 8 行)未插入并抛出错误:
FAILED: table_name, Exception: An error occurred while calling o216.pyWriteDynamicFrame. : org.apache.spark.SparkException:
Job aborted due to stage failure: Task 15 in stage 4.0 failed 4 times, most recent failure: Lost task 15.3 in stage 4.0 (TID 35, 10.234.42.138, executor 1): java.sql.BatchUpdateException: A result set was generated for update.
我检查了 table 的结构、约束、索引、失败环境 (dev) 和其余环境之间的触发器,没有发现任何差异。此外,我排除了 Glue/Python 的问题,因为我在工作中的 function.py
用于所有环境。
来自 SQ:Server profiler 我可以确认插入被重试了 4 次并获得了额外的日志:
declare @p1 int
set @p1=1
exec sp_prepexec @p1 output,N'@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 bigint,N'INSERT INTO [schema].[table] ("col","col","col") VALUES (@P0,@P1,@P2) ',N'xyz',N'xyz',7,N'xyz'
select @p1
exec sp_unprepare 1
IF @@TRANCOUNT > 0 ROLLBACK TRAN
感谢您就进一步改进的建议...
暂时以下解决方法完成了工作:
- 在 table 上禁用触发器
- 截断 table
- Re-run 胶水作业,填充数据
- 启用触发器
- Re-run 再次粘贴作业,数据现在已更新