Преглед изворни кода

先验需求改为查询dwd_channel_element_demand_feature_stat

wangyunpeng пре 5 часа
родитељ
комит
8c20abce8c
1 измењених фајлова са 26 додато и 40 уклоњено
  1. 26 40
      core/src/main/java/com/tzld/videoVector/job/ChannelDemandMatchJob.java

+ 26 - 40
core/src/main/java/com/tzld/videoVector/job/ChannelDemandMatchJob.java

@@ -127,21 +127,18 @@ public class ChannelDemandMatchJob {
                 ChannelDemandMatchResult result = new ChannelDemandMatchResult();
                 ChannelDemandMatchResult result = new ChannelDemandMatchResult();
                 result.setConfigId(config.getId());
                 result.setConfigId(config.getId());
                 result.setDt(dt);
                 result.setDt(dt);
-                result.setChannelName(channelName);
+                result.setChannelName(record.getString("人群_渠道"));
                 result.setCrowdSegment(record.getString("人群细分"));
                 result.setCrowdSegment(record.getString("人群细分"));
-                result.setDimension(record.getString("维度"));
-                result.setPointType(record.getString("点类型"));
-                result.setStandardElement(record.getString("标准化元素"));
-                result.setCategoryName(record.getString("分类名称"));
+                result.setDimension(record.getString("驱动维度_空间"));
+                result.setPointType(record.getString("需求特征点类型"));
+                result.setStandardElement(record.getString("需求特征点"));
+                result.setCategoryName(record.getString("需求特征类"));
 
 
                 // 统计指标
                 // 统计指标
-                result.setCrowdCount(safeGetInt(record, "人群人数"));
-                result.setVideoCount(safeGetInt(record, "视频量"));
-                result.setVisitUv(safeGetLong(record, "访问uv"));
-                result.setVisitPv(safeGetLong(record, "访问pv"));
-                result.setSharePv(safeGetLong(record, "单层分享pv"));
-                result.setBackflowUv(safeGetLong(record, "拉回uv"));
-                result.setTotalRov(safeGetDouble(record, "总rov"));
+                result.setCrowdCount(safeGetInt(record, "人群总数量"));
+                result.setVideoCount(safeGetInt(record, "内容数量"));
+                result.setVisitUv(safeGetLong(record, "群体访问uv"));
+                result.setTotalRov(safeGetDouble(record, "群体rov"));
 
 
                 result.setMatchStatus((short) 0); // 待匹配
                 result.setMatchStatus((short) 0); // 待匹配
 
 
@@ -244,9 +241,6 @@ public class ChannelDemandMatchJob {
             row.setCrowdCount(demand.getCrowdCount());
             row.setCrowdCount(demand.getCrowdCount());
             row.setVideoCount(demand.getVideoCount());
             row.setVideoCount(demand.getVideoCount());
             row.setVisitUv(demand.getVisitUv());
             row.setVisitUv(demand.getVisitUv());
-            row.setVisitPv(demand.getVisitPv());
-            row.setSharePv(demand.getSharePv());
-            row.setBackflowUv(demand.getBackflowUv());
             row.setTotalRov(demand.getTotalRov());
             row.setTotalRov(demand.getTotalRov());
             // 填充匹配结果
             // 填充匹配结果
             row.setMatchVideoId(item.getVideoId());
             row.setMatchVideoId(item.getVideoId());
@@ -271,34 +265,26 @@ public class ChannelDemandMatchJob {
      */
      */
     private String buildDemandSql(String channelName, String dt, int minUv, double minRov) {
     private String buildDemandSql(String channelName, String dt, int minUv, double minRov) {
         StringBuilder sb = new StringBuilder();
         StringBuilder sb = new StringBuilder();
-        sb.append("SELECT 人群细分");
-        sb.append(",CONCAT(CASE WHEN 来源 = '传播' THEN '传播' WHEN 来源 = '增长首层' THEN '增长' END,");
-        sb.append("'的',CASE WHEN 场景 = 'dist' THEN '分发' WHEN 场景 = 'head' THEN '头部' END) AS 维度");
-        sb.append(",点类型");
-        sb.append(",标准化元素");
-        sb.append(",分类名称");
-        sb.append(",CAST(AVG(人群人数) AS BIGINT) AS 人群人数");
-        sb.append(",COUNT(DISTINCT videoid) AS 视频量");
-        sb.append(",SUM(曝光uv) AS 访问uv");
-        sb.append(",SUM(曝光pv) AS 访问pv");
-        sb.append(",SUM(分享pv) AS 单层分享pv");
-        sb.append(",SUM(单层回流uv) AS 拉回uv");
-        sb.append(",(SUM(单层回流uv) + SUM(头部进分发单层回流人数)) / SUM(曝光uv) AS 总rov");
-        sb.append(" FROM loghubods.dwd_channel_element_video_stat_mid");
+        sb.append("SELECT 人群_渠道");
+        sb.append(",人群细分");
+        sb.append(",驱动维度_空间");
+        sb.append(",需求特征点类型");
+        sb.append(",需求特征点");
+        sb.append(",需求特征类");
+        sb.append(",人群总数量");
+        sb.append(",内容数量");
+        sb.append(",群体访问uv");
+        sb.append(",群体rov");
+        sb.append(" FROM loghubods.dwd_channel_element_demand_feature_stat");
         sb.append(" WHERE dt = '").append(dt).append("'");
         sb.append(" WHERE dt = '").append(dt).append("'");
-        sb.append(" AND 渠道 = '").append(channelName.replace("'", "''")).append("'");
-        sb.append(" AND 渠道 IS NOT NULL");
+        sb.append(" AND 人群_渠道 = '").append(channelName.replace("'", "''")).append("'");
+        sb.append(" AND 人群_渠道 IS NOT NULL");
         sb.append(" AND 人群细分 IS NOT NULL");
         sb.append(" AND 人群细分 IS NOT NULL");
-        sb.append(" AND 分类名称 IS NOT NULL");
-        sb.append(" GROUP BY 人群细分");
-        sb.append(",CONCAT(CASE WHEN 来源 = '传播' THEN '传播' WHEN 来源 = '增长首层' THEN '增长' END,");
-        sb.append("'的',CASE WHEN 场景 = 'dist' THEN '分发' WHEN 场景 = 'head' THEN '头部' END)");
-        sb.append(",点类型");
-        sb.append(",标准化元素");
-        sb.append(",分类名称");
-        sb.append(" HAVING 访问uv >= ").append(minUv);
+        sb.append(" AND 需求特征点类型 IS NOT NULL");
+        sb.append(" AND 需求特征点 IS NOT NULL");
+        sb.append(" AND 群体访问uv > ").append(minUv);
         if (minRov > 0) {
         if (minRov > 0) {
-            sb.append(" rov >= ").append(minRov);
+            sb.append(" AND 群体rov >= ").append(minRov);
         }
         }
         sb.append(";");
         sb.append(";");
         return sb.toString();
         return sb.toString();