raw 层建模决策
各 raw 表字段裁剪决策记录。每张表按"保留 / 明性裁 / 隐性裁"三态标记字段,决策依据明确化,避免接手者误裁 / 漏裁,并为下一轮重构 / 业务变更提供溯源依据。
三态定义:
- 保留:入仓字段(raw 层全字段 STRING,见
kb/20-数仓分层与建模.md §8.1)
- 明性裁:字段名 / 注释能直接识别涉密(PII / 三方支付凭证 / 含敏 JSON / 内部敏感配置等),合规驱动 → reader column 不查询、不入仓
- 隐性裁:字段名 / 注释看不出明显敏感,业务 / 技术理解才知道要裁(单租户冗余 / 内部技术字段 / 业务低频 / 数据冗余等)→ reader column 不查询、不入仓
两种裁都是物理层不入仓(raw column 字段不列)。区别仅在判断方式——明性可由不熟业务的人判断,隐性需熟业务方拍板。
1. card_group_order_info(拼团订单表)
1.1 概览
| 项 |
值 |
| PG schema 全字段 |
120 |
| 保留入 raw |
91 |
| 明性裁 |
16 |
| 隐性裁 |
13 |
| 配套 DDL |
manual/ddl/raw/trd/raw_trd_card_group_order_info_his_o_create.sql + ..._inc_d_create.sql |
| 配套 ini |
manual/backfill/20260425_raw_trd_card_group_order_info_his_o_history.ini + jobs/raw/trd/raw_trd_card_group_order_info_inc_d.ini |
| 决策日期 |
2026-04-25(his_o)/ 2026-04-28(inc_d 沿用)/ 2026-04-29(裁剪三态文档化) |
1.2 保留字段(91)
按 PG schema 顺序:
id, group_info_id, merchant_id, user_id, shipping_address_id, purchase_count, order_no, accounts_payable, actual_payment, payment_type, payment_time, coupon, discount, status, remark, create_time, create_by, update_time, update_by, payment_status, payment_status_desc, payment_success_time, del_flg, curier_company, refund_fee, refund_time, anonymous, pick_up_type, ship_time, refund_success_time, refund_recv_accout, refund_account, refund_request_source, card_price, act_price, goods_price_json, payment_sub_type, team_first, refuse_status, prop1, prop2, prop3, point, order_type, trade_amount, refund_type, refund_reason, evaluation, user_refund_time, refund_status, merchant_refund_reason, point_deduct, shipping_cost, merchant_remark, pay_record, order_sub_type, give_user_code, give_order_id, read_flag, give_num, invoice_id, combination_no, open_self, refund_desc, goods_allocate, close_payment_status, close_payment_time, finished_time, expire_time, settlement_amount, platform_coupon, platform_discount, discount_amount, member_discount, shipping_free_id, shipping_free_amount, discount_point, un_shipped_num, pre_un_shipped_num, wait_shipped_num, pre_wait_shipped_num, refuse_time, refuse_notice, pickup_time, waring_type, waring_status, point_type, delivery_end_time, serve_status, self_pickup_time, act_discount
字段类型 + 注释见 manual/ddl/raw/trd/raw_trd_card_group_order_info_his_o_create.sql(91 列 STRING + COMMENT)。
1.3 明性裁(16,合规驱动)
1.3.1 PII(5)
| 字段 |
PG 注释 |
shipping_address_linkname |
收件人姓名 |
shipping_address |
收货地址 |
shipping_address_phone |
收件人手机号 |
app_user_nick_name |
App 用户昵称 |
app_user_avatar |
App 用户头像 URL |
1.3.2 三方支付凭证 / 账户(9)
| 字段 |
PG 注释 |
prepay_id |
微信预支付 ID |
payment_evid |
支付凭证号 |
payment_num |
支付流水号 |
payment_bank_type |
支付银行类型 |
payment_appid |
支付 App ID |
out_refund_no |
外部退款单号 |
refund_id |
三方退款 ID |
trade_no |
三方交易号 |
shipping_trade_no |
物流交易号 |
1.3.3 含敏感的支付详情 JSON(2)
| 字段 |
PG 注释 |
pay_data |
支付明细 JSON |
pay_result_data |
支付返回 JSON |
1.4 隐性裁(13,业务 / 技术驱动)
1.4.1 业务冗余 - 物流细节(4)
| 字段 |
PG 注释 |
裁剪理由 |
courier_num |
快递单号 |
数仓业务不需要单号粒度,物流统计可用 curier_company |
refund_curier_company |
退款快递公司 |
与 curier_company 重复,退款场景占比低 |
refund_courier_num |
退款快递单号 |
同 courier_num,业务不需要 |
refund_ship_time |
退款发货时间 |
数仓暂无退款时长分析需求 |
1.4.2 业务库内部技术字段(4)
| 字段 |
PG 注释 |
裁剪理由 |
order_queue_low |
订单队列分片低位 |
业务库内部分片实现,与数仓无关 |
order_queue_high |
订单队列分片高位 |
同上 |
version |
数据版本(乐观锁) |
业务库内部并发控制,数仓不用 |
prop4 |
备用字段 |
与 prop1/2/3 取舍,业务方说 prop4 暂未启用 |
1.4.3 地址扩展 / 业务低频(3)
| 字段 |
PG 注释 |
裁剪理由 |
address_edit_json |
地址编辑历史 JSON |
运营审计字段,数仓暂无审计场景;且字段较大 |
self_pickup_code |
自提码 |
业务低频字段,数仓无相关分析 |
merchant_open |
商家是否营业 |
状态字段,业务方说历史数据不需要回看 |
1.4.4 多租户 / 配置 ID(2)
| 字段 |
PG 注释 |
裁剪理由 |
tenant_id |
多租户标识 |
当前单租户场景,字段恒值,无信息量 |
pay_config_id |
支付配置 ID |
配置外键,数仓不需要 join 配置表 |
1.5 维护提示
- 新增字段判断流程:业务库后续如加字段 → 重跑
bin/datax-sync-template-gen.py 与现 ini diff → 落入 §1.3 / §1.4 / §1.2 之一 → 同步更新本文档 + DDL + ini
- 不要"沉默裁剪":任何字段从 §1.2 移到 §1.3 / §1.4,必须在本文档留 PR + 决策记录