行为
Story #186
已关闭S2-03-存活期过滤与按年分区落盘
描述
统计各基金有效周数,剔除 <52 周,Polars 内按年切片写 Parquet,创建 DuckDB VIEW。
① 存活期计算 = 该基金所有段有效周数之和,< 52 周整体剔除;
② data/processed/ 下产出 net_value_YYYY.parquet(覆盖写入,不追加),显式指定 row_group_size=100000;
③ 落盘 Schema 绝对锁定:仅含 4 列 fund_id(String), net_value_date(Date), cumulative_net_value(Float64), segment_id(UInt32),临时列 fund_type 落盘前必须被显式 select 丢弃;
④ cumulative_net_value 全链路强制映射为 Float64,严禁使用 Decimal;
⑤ create_duckdb_view() 严禁依赖持久化状态,必须动态扫描年份文件拼接生成 v_net_value_processed。
规约 1.2 (存活期过滤/清盘基金);规约 1.3 (存储方案/row_group_size);FW-4/FW-5
行为