Commit 813ce269 authored by 王志伟's avatar 王志伟

fix bug

parent 2779038d
...@@ -74,43 +74,86 @@ object Recommendation_strategy_all { ...@@ -74,43 +74,86 @@ object Recommendation_strategy_all {
|and partition_date ='${partition_date}' |and partition_date ='${partition_date}'
""".stripMargin """.stripMargin
) )
decive_id_oldUser.show()
decive_id_oldUser.createOrReplaceTempView("device_id_old") decive_id_oldUser.createOrReplaceTempView("device_id_old")
val strategies = Seq("1$","^1$") val strategies = Seq("1$","[^1]$")
for (strategy <- strategies){ for (strategy <- strategies){
val clk_count_oldUser = sc.sql( if (strategy=="1$"){
s""" val clk_count_oldUser_experiment = sc.sql(
|select '${param.date}' as stat_date, count(cid_id) as get_clk_count_old s"""
|from data_feed_click jd inner join device_id_old |select '${param.date}' as stat_date, count(cid_id) as get_clk_count_old
|on jd.device_id = device_id_old.decive_id |from data_feed_click jd inner join device_id_old
|where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video') |on jd.device_id = device_id_old.decive_id
|and jd.device_id regexp'${strategy}' |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 regexp'${strategy}'
|and jd.device_id not in (select device_id from blacklist) |and jd.device_id not in (select device_id from bl_device_list)
|and jd.stat_date ='${param.date}' |and jd.device_id not in (select device_id from blacklist)
|and jd.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
val imp_count_oldUser_experiment = 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 result1 = clk_count_oldUser_experiment.join(imp_count_oldUser_experiment,"stat_date")
result1.createOrReplaceTempView("temp1")
} else{
val clk_count_oldUser_all = 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
)
val imp_count_oldUser_all = 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 result2 = clk_count_oldUser_all.join(imp_count_oldUser_all,"stat_date")
result2.createOrReplaceTempView("temp2")
val imp_count_oldUser = sc.sql( }
val current_all = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(cid_id) as get_imp_count_old |select a.stat_date,a.clk_count_oldUser_experiment,a.imp_count_oldUser_experiment,b.clk_count_oldUser_all,b.imp_count_oldUser_all
|from data_feed_exposure je inner join device_id_old |from temp1 a inner join temp2 b
|on je.device_id = device_id_old.decive_id |on a.stat_date = b.stat_date
|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 """.stripMargin
) )
val result = clk_count_oldUser.join(imp_count_oldUser,"stat_date") val result = current_all
result.show() result.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