Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
Amazon-Selection-Data
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abel_cjy
Amazon-Selection-Data
Commits
d059a090
Commit
d059a090
authored
Jul 15, 2026
by
hejiangming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
452b0699
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
22 deletions
+16
-22
dwt_aba_st_analytics.py
Pyspark_job/dwt/dwt_aba_st_analytics.py
+16
-22
No files found.
Pyspark_job/dwt/dwt_aba_st_analytics.py
View file @
d059a090
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment