Commit a01019d2 by hejiangming

峰值月从最近一年的表读取展示 月的只留存 不展示

parent be5e8a3c
......@@ -1078,6 +1078,19 @@ class DwtAbaStAnalytics(Templates):
self.df_history_st.unpersist()
# 峰值月 + 常年可卖:基于近 12 个月(自身历史 11 个月分区 + 当月)的 rank 计算
# ============================================================
# 【重要提醒·前端展示口径】peak_month / all_year_text_flag 本表(月表 dwt_aba_st_analytics)
# 仍照常计算并落库,但前端页面【不读本表这两列】。
# 【为什么不读本表】本表每个月分区各自算"该月往前 12 个月"的窗口,跑完就固定——
# 后续数据补抓/修正不会回刷,历史月(如 25-12)会一直停在当时算出的旧结论
# (典型:某月漏抓 → 当时判"非常年可卖",之后数据补齐了本表也不会自动改过来)。
# 而业务要求"所有月页面都显示最近一年的最新结果",本表这套按月固定的口径满足不了。
# 【实际展示从哪取】前端按 search_term 从年表 us_aba_last_365_day 取这两列。
# 年表 = dwt_aba_last365(date_type='month',每月滚动算近 12 个月)导出到 PG 集群,
# 导出是"整表替换"(见 sqoop_export/dwt_aba_last365.py),所以该表永远只存最新一份近 12 月快照。
# 年表每月一替换 → 所有月页面 join 到的自动是最新值,天然满足"历史月也显示最新"。
# 【结论】本表这两列保留计算(兼容/备查),前端取数源改到年表即可,切勿因为"看起来重复"而删。
# ============================================================
def handle_peak_month(self):
"""
peak_month:近 12 个月窗口内 rank 最小(排名最好)的月份,并列全保留,
......@@ -1229,6 +1242,8 @@ class DwtAbaStAnalytics(Templates):
"brand_asin_proportion", # 前三页ASIN数最多品牌的ASIN数占比
"seller_asin_proportion", # 前三页ASIN数最多卖家的ASIN数占比
"st_attribute_label", # 搜索词属性标签(逗号分隔字符串,sqoop 导出 PG 后转 VARCHAR[])
# 【前端展示提醒】下面两列本表仍落库,但页面【从年表 us_aba_last_365_day 按 search_term 取,不读本表这两列】——
# 本表按月分区固定不回刷、历史月会停在旧值;年表整表替换永远最新(详见 handle_peak_month 顶部提醒)
"peak_month", # 峰值月:近12个月 rank 最小的月份,并列保留,'YYYY-MM' 逗号分隔(PG 转 VARCHAR[])
"all_year_text_flag", # 常年可卖:近12个月每月都出现在 ABA 月度搜索词中=1,否则=0
"st_filter_refinements" # 搜索词市场筛选维度(清洗后 JSON:维度名->值列表,已过滤黑名单维度;PG 端 jsonb,空为 {})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment