Commit 8fa57120 by chenyuanjie

bsr/nsr榜单统计增加week维度

parent 8e6ce66b
......@@ -97,14 +97,14 @@ class DwdNsrBsrKeepaAsin(Templates):
thirty_days_ago = ''
print(f"1.1 读取最近30天的bsr的asin")
sql_bsr = f"select asin, date_info, 1 as asin_cate_flag, category_id from dim_bsr_asin_rank_history where site_name='{self.site_name}' and date_info between '{thirty_days_ago}' and '{self.date_info}'"
if self.date_type == 'month':
if self.date_type in ['month', 'week']:
sql_bsr = f"select asin, date_info, 1 as asin_cate_flag, category_id from dim_bsr_asin_rank_history where site_name='{self.site_name}' and date_info in {self.date_info_tuple}"
print("sql_bsr:", sql_bsr)
self.df_asin_bsr = self.spark.sql(sqlQuery=sql_bsr).cache()
self.df_asin_bsr.show(10, truncate=False)
print(f"1.2 读取最近30天的nsr的asin")
sql_nsr = f"select asin, date_info, 2 as asin_cate_flag, category_id from dim_nsr_asin_rank_history where site_name='{self.site_name}' and date_info between '{thirty_days_ago}' and '{self.date_info}'"
if self.date_type == 'month':
if self.date_type in ['month', 'week']:
sql_nsr = f"select asin, date_info, 2 as asin_cate_flag, category_id from dim_nsr_asin_rank_history where site_name='{self.site_name}' and date_info in {self.date_info_tuple}"
print("sql_nsr:", sql_nsr)
self.df_asin_nsr = self.spark.sql(sqlQuery=sql_nsr).cache()
......@@ -115,7 +115,7 @@ class DwdNsrBsrKeepaAsin(Templates):
union all
select distinct(asin), '{self.date_info}' as date_info, 4 as asin_cate_flag, null as category_id from ods_keepa_finder_task_asin where site_name='{self.site_name}' and date_info between '{thirty_days_ago}' and '{self.date_info}'
"""
if self.date_type == 'month':
if self.date_type in ['month', 'week']:
sql_keepa = f"""
select asin, date_info, 3 as asin_cate_flag, null as category_id from ods_keepa_finder_asin where site_name='{self.site_name}' and date_info in {self.date_info_tuple}
union all
......@@ -250,7 +250,7 @@ class DwdNsrBsrKeepaAsin(Templates):
# self.df_save_asin_cate = self.df_save_asin_cate.withColumn("date_info", F.lit(self.date_info))
# df_asin_today = self.df_save.filter(f"date_info='{self.date_info}'")
is_saturday_flag = True if self.date_type =='month' else self.is_saturday(self.date_info)
is_saturday_flag = True if self.date_type in ['month', 'week'] else self.is_saturday(self.date_info)
self.df_save = self.df_asin_bsr.unionByName(self.df_asin_nsr, allowMissingColumns=True).unionByName(self.df_asin_keepa, allowMissingColumns=True)
window = Window.partitionBy(['asin']).orderBy(F.asc("date_info"))
self.df_save = self.df_save.withColumn(
......
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