Commit 6dc4bcba by fangxingjun

新增me搜索词Christmas计算,引入month_aba_me分区

parent f262d6bb
...@@ -37,7 +37,7 @@ class DimAsinAmordersInfo(Templates): ...@@ -37,7 +37,7 @@ class DimAsinAmordersInfo(Templates):
# us month, month_week, 4_week, week # us month, month_week, 4_week, week
# uk/de month, 4_week, week # uk/de month, 4_week, week
if self.site_name in ['us', 'uk', 'de']: if self.site_name in ['us', 'uk', 'de']:
if self.date_type in ['month', 'month_week']: if self.date_type in ['month', 'month_week', 'month_aba_me']:
if (self.site_name == 'us') or (self.site_name in ['uk', 'de'] and self.date_info >= '2024-05'): if (self.site_name == 'us') or (self.site_name in ['uk', 'de'] and self.date_info >= '2024-05'):
params = f"date_type='{self.date_type}' and date_info = '{self.date_info}'" params = f"date_type='{self.date_type}' and date_info = '{self.date_info}'"
else: else:
......
...@@ -262,7 +262,7 @@ class DimAsinDetail(object): ...@@ -262,7 +262,7 @@ class DimAsinDetail(object):
# 处理asin的变体信息 # 处理asin的变体信息
def handle_asin_variation_attribute(self): def handle_asin_variation_attribute(self):
if self.date_type in ['month', 'month_week'] and self.date_info >= '2024-06': if self.date_type in ['month', 'month_week', 'month_aba_me'] and self.date_info >= '2024-06':
print("执行新版的变体信息整合") print("执行新版的变体信息整合")
variat_schema = ArrayType(ArrayType(StringType())) variat_schema = ArrayType(ArrayType(StringType()))
self.df_asin_detail = self.df_asin_detail.withColumn("variat_list_change", F.from_json(F.col("variat_list"), variat_schema)) self.df_asin_detail = self.df_asin_detail.withColumn("variat_list_change", F.from_json(F.col("variat_list"), variat_schema))
...@@ -281,7 +281,7 @@ class DimAsinDetail(object): ...@@ -281,7 +281,7 @@ class DimAsinDetail(object):
self.df_asin_detail = self.df_asin_detail.join( self.df_asin_detail = self.df_asin_detail.join(
df_asin_with_variation, on=['asin'], how='left' df_asin_with_variation, on=['asin'], how='left'
) )
elif self.date_type in ['month', 'month_week'] and self.date_info < '2024-06': elif self.date_type in ['month', 'month_week', 'month_aba_me'] and self.date_info < '2024-06':
print("执行历史数据的变体信息整合") print("执行历史数据的变体信息整合")
window = Window.partitionBy(self.df_asin_variat.asin).orderBy( window = Window.partitionBy(self.df_asin_variat.asin).orderBy(
self.df_asin_variat.updated_time.desc_nulls_last()) self.df_asin_variat.updated_time.desc_nulls_last())
......
...@@ -47,6 +47,8 @@ class DimAsinLabel(object): ...@@ -47,6 +47,8 @@ class DimAsinLabel(object):
date_sql = f" and date_type='{self.date_type}' and date_info = '{self.date_info}'" date_sql = f" and date_type='{self.date_type}' and date_info = '{self.date_info}'"
elif self.date_type == DateTypes.month.name and self.date_info >= '2023-10': elif self.date_type == DateTypes.month.name and self.date_info >= '2023-10':
date_sql = f" and date_type='{self.date_type}' and date_info = '{self.date_info}'" date_sql = f" and date_type='{self.date_type}' and date_info = '{self.date_info}'"
elif self.date_type == 'month_aba_me':
date_sql = f" and date_type='{self.date_type}' and date_info = '{self.date_info}'"
else: else:
date_sql = f"and date_type='week' and date_info in {self.complete_date_info_tuple}" date_sql = f"and date_type='week' and date_info in {self.complete_date_info_tuple}"
elif self.site_name in ['uk', 'de']: elif self.site_name in ['uk', 'de']:
......
...@@ -84,7 +84,7 @@ class DimAsinLaunchtimeInfo(object): ...@@ -84,7 +84,7 @@ class DimAsinLaunchtimeInfo(object):
else: else:
print("==================执行分区数据整合=================") print("==================执行分区数据整合=================")
# 按分区检测是否有新增的asin # 按分区检测是否有新增的asin
if self.date_type in (DateTypes.week.name,DateTypes.month.name,DateTypes.month_week.name): if self.date_type in (DateTypes.week.name,DateTypes.month.name,DateTypes.month_week.name, 'month_aba_me'):
# 取st维度的st下的asin数据 # 取st维度的st下的asin数据
sql = f""" sql = f"""
select select
......
...@@ -189,7 +189,9 @@ class DimAsinStableInfo(Templates): ...@@ -189,7 +189,9 @@ class DimAsinStableInfo(Templates):
def read_data(self): def read_data(self):
if self.site_name == 'us': if self.site_name == 'us':
params = f" and (date_type='week' or (date_type='month' and date_info='2023-10') or (date_type in ('month_week', 'month') and date_info>='2023-11'))" # 选取最近1年的详情来计算
params = f" and date_type in ('month_week', 'month', 'month_aba_me') and date_info>='2025-01';"
# params = f" and (date_type='week' or (date_type='month' and date_info='2023-10') or (date_type in ('month_week', 'month') and date_info>='2023-11'))"
else: else:
params = f" and (date_type='week' or (date_type in ('month_week', 'month') and date_info>='2023-05'))" params = f" and (date_type='week' or (date_type in ('month_week', 'month') and date_info>='2023-05'))"
......
...@@ -95,7 +95,7 @@ class DimCalAsinDetail(object): ...@@ -95,7 +95,7 @@ class DimCalAsinDetail(object):
and date_type='month' ; and date_type='month' ;
""" """
self.date_type = 'day_all' self.date_type = 'day_all'
elif self.date_type in (DateTypes.week.name, DateTypes.month.name, DateTypes.month_week.name): elif self.date_type in (DateTypes.week.name, DateTypes.month.name, DateTypes.month_week.name, 'month_aba_me'):
sql = f"""select sql = f"""select
asin, asin,
asin_img_url, asin_img_url,
......
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