Forráskód Böngészése

修改查询rovsql

xueyiming 2 hete
szülő
commit
6951167f2f
2 módosított fájl, 43 hozzáadás és 26 törlés
  1. 42 25
      examples/demand/data_query_tools.py
  2. 1 1
      examples/demand/piaoquan_prepare.py

+ 42 - 25
examples/demand/data_query_tools.py

@@ -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])
     end_date = (date.today() - timedelta(days=1)).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'''
-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
+        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 <= '{end_date}'
-WHERE v.videoid in ({video_ids_in_clause})
-GROUP BY
-    v.videoid
-;
-    '''
+    GROUP BY
+        t3.视频id
+    ;
+        '''
     data = get_odps_data(sql_query)
     result_dict = {}
     if data:

+ 1 - 1
examples/demand/piaoquan_prepare.py

@@ -174,7 +174,7 @@ if __name__ == '__main__':
     # cluster_name = '贪污腐败'
     #
     # execution_id = run_mining(cluster_name=cluster_name, merge_leve2=cluster_name)
-    prepare(270)
+    prepare(756)
     # execution_id = piaoquan_prepare(cluster_name=cluster_name)
     # print(execution_id)