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

repair bug

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