Commit 804a64a8 authored by 王志伟's avatar 王志伟

repair bug

parent 96b3c15b
//#该文件统计ffm\node2vec\搜索推荐三个策略merge后的全量用户的ctr
//#device_id尾号为1的用户为对照组
//#且去除每天新用户
package com.gmei package com.gmei
import java.io.Serializable import java.io.Serializable
...@@ -57,11 +53,11 @@ object Recommendation_strategy_all { ...@@ -57,11 +53,11 @@ object Recommendation_strategy_all {
import sc.implicits._ import sc.implicits._
// val stat_date = GmeiConfig.getMinusNDate(1) // val stat_date = GmeiConfig.getMinusNDate(1)
// println(param.date) println(param.date)
val partition_date = param.date.replace("-","") val partition_date = param.date.replace("-","")
val decive_id_oldUser = sc.sql( val decive_id_oldUser = sc.sql(
s""" s"""
|select distinct(device_id) as device_id |select distinct(device_id) as decive_id
|from online.ml_device_day_active_status |from online.ml_device_day_active_status
|where active_type = '4' |where active_type = '4'
|and first_channel_source_type not in ('yqxiu1','yqxiu2','yqxiu3','yqxiu4','yqxiu5','mxyc1','mxyc2','mxyc3' |and first_channel_source_type not in ('yqxiu1','yqxiu2','yqxiu3','yqxiu4','yqxiu5','mxyc1','mxyc2','mxyc3'
...@@ -77,61 +73,47 @@ object Recommendation_strategy_all { ...@@ -77,61 +73,47 @@ object Recommendation_strategy_all {
decive_id_oldUser.show() decive_id_oldUser.show()
decive_id_oldUser.createOrReplaceTempView("device_id_old") decive_id_oldUser.createOrReplaceTempView("device_id_old")
val clk_count_oldUser_experiment = sc.sql(
s"""
|select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_experiment
|from data_feed_click jd inner join device_id_old
|on jd.device_id = device_id_old.device_id
|where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video')
|and jd.device_id not in (select device_id from bl_device_list)
|and jd.device_id not in (select device_id from blacklist)
|and jd.stat_date ='${param.date}'
""".stripMargin
)
clk_count_oldUser_experiment.show()
val imp_count_oldUser_experiment = sc.sql( val strategies = Seq("1$","[^1]$")
s""" for (strategy <- strategies){
|select '${param.date}' as stat_date, count(cid_id) as imp_count_oldUser_experiment val clk_count_oldUser = sc.sql(
|from data_feed_exposure je inner join device_id_old s"""
|on je.device_id = device_id_old.device_id |select '${param.date}' as stat_date, count(cid_id) as get_clk_count_old
|where je.cid_type = 'diary' |from data_feed_click jd inner join device_id_old
|and je.device_id not in (select device_id from bl_device_list) |on jd.device_id = device_id_old.decive_id
|and je.device_id not in (select device_id from blacklist) |where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video')
|and je.stat_date ='${param.date}' |and jd.device_id regexp'${strategy}'
|and jd.device_id not in (select device_id from bl_device_list)
|and jd.device_id not in (select device_id from blacklist)
|and jd.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
imp_count_oldUser_experiment.show()
val clk_count_oldUser_all = sc.sql( val imp_count_oldUser = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_all |select '${param.date}' as stat_date, count(cid_id) as get_imp_count_old
|from data_feed_click jd inner join device_id_old |from data_feed_exposure je inner join device_id_old
|on jd.device_id = device_id_old.device_id |on je.device_id = device_id_old.decive_id
|where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video') |where je.cid_type = 'diary'
|and jd.device_id not in (select device_id from bl_device_list) |and je.device_id regexp'${strategy}'
|and jd.device_id not in (select device_id from blacklist) |and je.device_id not in (select device_id from bl_device_list)
|and jd.stat_date ='${param.date}' |and je.device_id not in (select device_id from blacklist)
|and je.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
val result = clk_count_oldUser.join(imp_count_oldUser,"stat_date")
result.show()
}
clk_count_oldUser_all.show()
val imp_count_oldUser_all = sc.sql(
s"""
|select '${param.date}' as stat_date, count(cid_id) as imp_count_oldUser_all
|from data_feed_exposure je inner join device_id_old
|on je.device_id = device_id_old.device_id
|where je.cid_type = 'diary'
|and je.device_id not in (select device_id from bl_device_list)
|and je.device_id not in (select device_id from blacklist)
|and je.stat_date ='${param.date}'
""".stripMargin
)
imp_count_oldUser_all.show()
val result2 = clk_count_oldUser_experiment.join(imp_count_oldUser_experiment,"stat_date")
.join(clk_count_oldUser_all,"stat_date")
.join(imp_count_oldUser_all,"stat_date")
result2.show()
} }
......
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