|
@@ -174,35 +174,52 @@ def get_rov_by_merge_leve2_and_video_ids(merge_leve2, video_ids):
|
|
|
video_ids_in_clause = ", ".join([f"'{video_id}'" for video_id in video_ids])
|
|
video_ids_in_clause = ", ".join([f"'{video_id}'" for video_id in video_ids])
|
|
|
end_date = (date.today() - timedelta(days=1)).strftime("%Y%m%d")
|
|
end_date = (date.today() - timedelta(days=1)).strftime("%Y%m%d")
|
|
|
start_date = (date.today() - timedelta(days=14)).strftime("%Y%m%d")
|
|
start_date = (date.today() - timedelta(days=14)).strftime("%Y%m%d")
|
|
|
|
|
+# sql_query = f'''
|
|
|
|
|
+# SELECT
|
|
|
|
|
+# v.videoid,
|
|
|
|
|
+# CASE
|
|
|
|
|
+# WHEN COALESCE(SUM(COALESCE(t3.`当日分发曝光pv`, 0)), 0) < 1000 THEN 0
|
|
|
|
|
+# ELSE COALESCE(AVG(NULLIF(t3.rov_t0, 0)), 0)
|
|
|
|
|
+# END AS avg_rov_t0
|
|
|
|
|
+# FROM
|
|
|
|
|
+# (
|
|
|
|
|
+# SELECT
|
|
|
|
|
+# t2.videoid,
|
|
|
|
|
+# t2.merge_leve2
|
|
|
|
|
+# FROM videoods.content_profile t1
|
|
|
|
|
+# JOIN loghubods.video_merge_tag t2
|
|
|
|
|
+# ON t1.content_id = t2.videoid
|
|
|
|
|
+# WHERE
|
|
|
|
|
+# t1.status = 3
|
|
|
|
|
+# AND t1.is_deleted = 0
|
|
|
|
|
+# AND t2.merge_leve2 IN ({merge_level_in_clause})
|
|
|
|
|
+# ) v
|
|
|
|
|
+# LEFT JOIN loghubods.video_dimension_detail_add_column t3
|
|
|
|
|
+# ON v.videoid = t3.视频id
|
|
|
|
|
+# AND t3.dt >= '{start_date}'
|
|
|
|
|
+# AND t3.dt <= '{end_date}'
|
|
|
|
|
+# WHERE v.videoid in ({video_ids_in_clause})
|
|
|
|
|
+# GROUP BY
|
|
|
|
|
+# v.videoid
|
|
|
|
|
+# ;
|
|
|
|
|
+# '''
|
|
|
sql_query = f'''
|
|
sql_query = f'''
|
|
|
-SELECT
|
|
|
|
|
- v.videoid,
|
|
|
|
|
- CASE
|
|
|
|
|
- WHEN COALESCE(SUM(COALESCE(t3.`当日分发曝光pv`, 0)), 0) < 1000 THEN 0
|
|
|
|
|
- ELSE COALESCE(AVG(NULLIF(t3.rov_t0, 0)), 0)
|
|
|
|
|
- END AS avg_rov_t0
|
|
|
|
|
-FROM
|
|
|
|
|
-(
|
|
|
|
|
SELECT
|
|
SELECT
|
|
|
- t2.videoid,
|
|
|
|
|
- t2.merge_leve2
|
|
|
|
|
- FROM videoods.content_profile t1
|
|
|
|
|
- JOIN loghubods.video_merge_tag t2
|
|
|
|
|
- ON t1.content_id = t2.videoid
|
|
|
|
|
- WHERE
|
|
|
|
|
- t1.status = 3
|
|
|
|
|
- AND t1.is_deleted = 0
|
|
|
|
|
- AND t2.merge_leve2 IN ({merge_level_in_clause})
|
|
|
|
|
-) v
|
|
|
|
|
-LEFT JOIN loghubods.video_dimension_detail_add_column t3
|
|
|
|
|
- ON v.videoid = t3.视频id
|
|
|
|
|
|
|
+ CAST(t3.视频id AS STRING) AS 视频id_str,
|
|
|
|
|
+ CASE
|
|
|
|
|
+ WHEN COALESCE(SUM(COALESCE(t3.`当日分发曝光pv`, 0)), 0) < 1000 THEN 0
|
|
|
|
|
+ ELSE COALESCE(AVG(NULLIF(t3.rov_t0, 0)), 0)
|
|
|
|
|
+ END AS avg_rov_t0
|
|
|
|
|
+ FROM
|
|
|
|
|
+ loghubods.video_dimension_detail_add_column t3
|
|
|
|
|
+
|
|
|
|
|
+ WHERE t3.视频id in ({video_ids_in_clause})
|
|
|
AND t3.dt >= '{start_date}'
|
|
AND t3.dt >= '{start_date}'
|
|
|
AND t3.dt <= '{end_date}'
|
|
AND t3.dt <= '{end_date}'
|
|
|
-WHERE v.videoid in ({video_ids_in_clause})
|
|
|
|
|
-GROUP BY
|
|
|
|
|
- v.videoid
|
|
|
|
|
-;
|
|
|
|
|
- '''
|
|
|
|
|
|
|
+ GROUP BY
|
|
|
|
|
+ t3.视频id
|
|
|
|
|
+ ;
|
|
|
|
|
+ '''
|
|
|
data = get_odps_data(sql_query)
|
|
data = get_odps_data(sql_query)
|
|
|
result_dict = {}
|
|
result_dict = {}
|
|
|
if data:
|
|
if data:
|