# 第五次 ETL 执行结果报告 - execution_id: `fe87144a-687d-4ce0-9b79-6bd0186b2be3` - 执行时间: 2026-02-21 20:19:52 ~ 20:31:29(约 11m37s) - exit_code: 0 - 总任务数: 31 ## 成功任务(10 个) | # | 任务 | |---|------| | 1 | DWS_ASSISTANT_DAILY | | 2 | DWS_ASSISTANT_MONTHLY | | 3 | DWS_ASSISTANT_CUSTOMER | | 4 | DWS_ASSISTANT_SALARY | | 5 | DWS_ASSISTANT_FINANCE | | 6 | ODS_SETTLEMENT_RECORDS ODS 任务完成 | | 7 | ODS_PAYMENT ODS 任务完成 | | 8 | ODS_REFUND ODS 任务完成 | | 9 | DWS_BUILD_ORDER_SUMMARY | | 10 | DWS_MEMBER_CONSUMPTION | ## 失败任务(21 个) | # | 任务 | 错误类型 | |---|------|----------| | 1 | DWS_MEMBER_VISIT | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 2 | ODS_GOODS_CATEGORY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 3 | ODS_STORE_GOODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 4 | ODS_STORE_GOODS_SALES | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 5 | ODS_TENANT_GOODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 6 | ODS_PLATFORM_COUPON | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 7 | ODS_GROUP_PACKAGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 8 | ODS_GROUP_BUY_REDEMPTION | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 9 | ODS_INVENTORY_STOCK | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 10 | ODS_INVENTORY_CHANGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 11 | DWS_GOODS_STOCK_DAILY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 12 | DWS_GOODS_STOCK_WEEKLY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 13 | DWS_GOODS_STOCK_MONTHLY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 14 | DWS_FINANCE_DAILY | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 15 | DWS_FINANCE_RECHARGE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 16 | DWS_FINANCE_INCOME_STRUCTURE | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 17 | DWS_FINANCE_DISCOUNT_DETAIL | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 18 | DWS_WINBACK_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 19 | DWS_NEWCONV_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 20 | DWS_RELATION_INDEX | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | | 21 | DWD_LOAD_FROM_ODS | 错误: 当前事务被终止, 事务块结束之前的查询被忽略 | ## 根因分析 BUG 6: `DWS_MEMBER_VISIT` → `_extract_table_info()` 方法中 SQL 引用了 `dwd.dim_table.site_table_id`, 但该表的主键字段实际为 `table_id`(参考 `db/etl_feiqiu/schemas/dwd.sql`)。 错误发生后,psycopg2 连接进入 InFailedSqlTransaction 状态,导致后续所有任务级联失败。 ## 修复措施 1. `member_visit_task.py` → `_extract_table_info()`: - `site_table_id AS table_id` → `table_id AS table_id` - `site_table_name AS table_name` → `table_name AS table_name` 2. `finance_income_task.py` → `_extract_income_by_area()`: - JOIN 条件 `dt.site_table_id = tfl.site_table_id` → `dt.table_id = tfl.site_table_id` - JOIN 条件 `dt.site_table_id = asl.site_table_id` → `dt.table_id = asl.site_table_id` ## BUG 5 验证 BUG 5(birthday 字段)的修复已部署,但被 BUG 6 遮蔽,无法在本次执行中验证。 需要第六次执行来同时验证 BUG 5 + BUG 6 + BUG 7。