Commit d059a090 by hejiangming

no message

parent 452b0699
......@@ -16,17 +16,13 @@ from yswg_utils.common_udf import udf_detect_phrase_reg
# ============================================================
# filter_refinements 维度黑名单(全部小写)
# 【这是什么】filter_refinements 是爬虫抓的"该搜索词市场的筛选维度"(JSON:维度名 -> 值列表),
# 里面混了品牌/平台/物流/交易类维度(如 Local Stores、Subscribe & Save),前端只想展示
# 材质/风格/功能/场景等商品属性维度,所以要按黑名单把非属性维度整条丢掉。
# 【匹配规则】维度名转小写后,只要"包含"下列任一关键词 → 整个维度连同其值一起丢弃(业务确认按包含匹配)。
# filter_refinements 是爬虫抓的"该搜索词市场的筛选维度"(JSON:维度名 -> 值列表),
# 里面混了品牌/平台/物流/交易类维度(如 Local Stores、Subscribe & Save),按黑名单把非属性维度整条丢掉。
# 【匹配规则】维度名转小写后,只要"包含"下列任一关键词 → 整个维度连同其值一起丢弃
# 【'brand' 这条】单独一条覆盖所有带品牌的写法(Brands / Sub-Brand / Premium Brands /
# From Our Brands / All Top Brands / Top Brands / Top Brands in Health & Household 等),
# 等价于业务原始 22 项里那 6 个 brand 相关项,故不再逐条重复列。
# 【注意】'color'/'price'/'seller'/'condition' 也按包含丢(业务确认),会连带丢掉
# 'color'/'price'/'seller'/'condition'
# Frame Color / Skin Condition 这类含该词的维度——这是预期行为。
# 【怎么加词】后续要新增过滤维度,只在本列表加一行小写关键词即可。
# ============================================================
FILTER_REFINEMENTS_BLACKLIST = [
'brand', # 含 brand 全丢(覆盖原 22 项里 6 个 brand 相关项)
'eligible for free shipping',
......@@ -595,21 +591,19 @@ class DwtAbaStAnalytics(Templates):
# 【为什么加站点判断】st_attribute_label 只有 us 计算 因为属性是基于us统计 业务要求 uk de不展示 这里填充默认值
# 非 us 直接跳过读取,st_attribute_label 在 handle_data 里统一填占位 '-1'(Java 转 null 返前端)。
if self.site_name == 'us':
# ===== 临时注释(补数用):补数时 dws_st_theme 可能还没跑好,先关掉存在性校验避免阻塞任务 =====
# 影响范围仅 st_attribute_label 一个字段:无数据时它填占位 '-1'(Java 转 null),不影响任何其他字段。
# dws_st_theme 调度恢复正常后,请取消下面注释、恢复 assert。
# has_theme_data = self.spark.sql(f"""
# SELECT 1 FROM dws_st_theme
# WHERE site_name='{self.site_name}'
# AND date_type='{self.date_type}'
# AND date_info='{self.date_info}'
# LIMIT 1
# """).take(1)
# assert len(has_theme_data) > 0, (
# f"上游 dws_st_theme 分区无数据 "
# f"site_name={self.site_name}/date_type={self.date_type}/date_info={self.date_info},"
# f"请确认dws_st_theme 调度是否完成;若强行跑 dwt_aba_st_analytics 会导致所有词的 st_attribute_label 错填 '-1'"
# )
has_theme_data = self.spark.sql(f"""
SELECT 1 FROM dws_st_theme
WHERE site_name='{self.site_name}'
AND date_type='{self.date_type}'
AND date_info='{self.date_info}'
LIMIT 1
""").take(1)
assert len(has_theme_data) > 0, (
f"上游 dws_st_theme 分区无数据 "
f"site_name={self.site_name}/date_type={self.date_type}/date_info={self.date_info},"
f"请确认dws_st_theme 调度是否完成;若强行跑 dwt_aba_st_analytics 会导致所有词的 st_attribute_label 错填 '-1'"
)
sql = f"""
select
......
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