Commit f1ca88ee authored by 王志伟's avatar 王志伟

增加统计数据

parent e69c34c9
...@@ -154,6 +154,40 @@ object Recommendation_strategy_all { ...@@ -154,6 +154,40 @@ object Recommendation_strategy_all {
|and je.stat_date ='${stat_date}' |and je.stat_date ='${stat_date}'
""".stripMargin """.stripMargin
) )
//策略覆盖用户数device_num_cover
val device_num_cover = sc.sql(
s"""
|select '${stat_date}' as stat_date,count(distinct(device_id)) as device_num_cover
|from merge_queue_table
""".stripMargin
)
//尾号1活跃用户数device_num_1_hit
val device_num_1_hit = sc.sql(
s"""
|select '${stat_date}' as stat_date, count(distinct(je.device_id)) as device_num_1_hit
|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'1$$'
|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 ='${stat_date}'
""".stripMargin
)
//策略命中用户数device_num_hit
val device_num_hit = sc.sql(
s"""
|select '${stat_date}' as stat_date, count(distinct(je.device_id)) as device_num_hit
|from data_feed_exposure je inner join device_id_cover_older
|on je.device_id = device_id_cover_older.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 ='${stat_date}'
""".stripMargin
)
...@@ -163,6 +197,9 @@ object Recommendation_strategy_all { ...@@ -163,6 +197,9 @@ object Recommendation_strategy_all {
.join(imp_count_oldUser_all,"stat_date") .join(imp_count_oldUser_all,"stat_date")
.join(clk_count_oldUser_Cover,"stat_date") .join(clk_count_oldUser_Cover,"stat_date")
.join(imp_count_oldUser_Cover,"stat_date") .join(imp_count_oldUser_Cover,"stat_date")
.join(device_num_cover,"stat_date")
.join(device_num_1_hit,"stat_date")
.join(device_num_hit,"stat_date")
result1.show() result1.show()
GmeiConfig.writeToJDBCTable(result1, "Recommendation_strategy_temp", SaveMode.Append) GmeiConfig.writeToJDBCTable(result1, "Recommendation_strategy_temp", SaveMode.Append)
...@@ -269,6 +306,10 @@ object Recommendation_strategy_all { ...@@ -269,6 +306,10 @@ object Recommendation_strategy_all {
} }
......
...@@ -36,7 +36,7 @@ object strategy_other { ...@@ -36,7 +36,7 @@ object strategy_other {
s"| --env ${defaultParams.env}" s"| --env ${defaultParams.env}"
) )
} }
//统计每天新用户的点击率
def main(args: Array[String]): Unit = { def main(args: Array[String]): Unit = {
parser.parse(args, defaultParams).map { param => parser.parse(args, defaultParams).map { param =>
GmeiConfig.setup(param.env) GmeiConfig.setup(param.env)
...@@ -56,11 +56,11 @@ object strategy_other { ...@@ -56,11 +56,11 @@ object strategy_other {
//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 devicee_id_oldUser = sc.sql( val devicee_id_newUser = sc.sql(
s""" s"""
|select distinct(device_id) as device_id |select distinct(device_id) as device_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'
| ,'wanpu','jinshan','jx','maimai','zhuoyi','huatian','suopingjingling','mocha','mizhe','meika','lamabang' | ,'wanpu','jinshan','jx','maimai','zhuoyi','huatian','suopingjingling','mocha','mizhe','meika','lamabang'
| ,'js-az1','js-az2','js-az3','js-az4','js-az5','jfq-az1','jfq-az2','jfq-az3','jfq-az4','jfq-az5','toufang1' | ,'js-az1','js-az2','js-az3','js-az4','js-az5','jfq-az1','jfq-az2','jfq-az3','jfq-az4','jfq-az5','toufang1'
...@@ -71,15 +71,14 @@ object strategy_other { ...@@ -71,15 +71,14 @@ object strategy_other {
|and partition_date ='${partition_date}' |and partition_date ='${partition_date}'
""".stripMargin """.stripMargin
) )
devicee_id_oldUser.show() devicee_id_newUser.show()
devicee_id_oldUser.createOrReplaceTempView("device_id_old") devicee_id_newUser.createOrReplaceTempView("device_id_new")
//device_id尾号1有点击用户日记本点击数 val clk_count_oldUser_Contrast = sc.sql(
val clk_active_1 = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(jd.cid_id) as clk_active_1 |select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_Contrast
|from data_feed_click jd inner join device_id_old |from data_feed_click jd inner join device_id_old
|on jd.device_id = device_id_old.device_id |on jd.device_id = device_id_old.decive_id
|where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video') |where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video')
|and jd.device_id regexp'1$$' |and jd.device_id regexp'1$$'
|and jd.device_id not in (select device_id from bl_device_list) |and jd.device_id not in (select device_id from bl_device_list)
...@@ -88,40 +87,24 @@ object strategy_other { ...@@ -88,40 +87,24 @@ object strategy_other {
""".stripMargin """.stripMargin
) )
//device_id尾号1有点击用户日记本曝光数 val imp_count_oldUser_Contrast = sc.sql(
val imp_active_1 = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(je.cid_id) as imp_active_1 |select '${param.date}' as stat_date, count(cid_id) as imp_count_oldUser_Contrast
|from data_feed_exposure je inner join device_id_old |from data_feed_exposure je inner join device_id_old
|on je.device_id = device_id_old.device_id |on je.device_id = device_id_old.decive_id
|where je.cid_type = 'diary' |where je.cid_type = 'diary'
|and je.device_id in (select distinct(device_id) from data_feed_click where device_id regexp '1$$' and stat_date = '${param.date}') |and je.device_id regexp'1$$'
|and je.device_id not in (select device_id from bl_device_list) |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.device_id not in (select device_id from blacklist)
|and je.stat_date ='${param.date}' |and je.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
//device_id尾号1点击日记本用户数 val clk_count_oldUser_all = sc.sql(
val clk_diary_device = sc.sql(
s"""
|select '${param.date}' as stat_date, count(distinct(jd.device_id)) as clk_diary_device
|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 regexp'1$$'
|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 clk_active_all = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(jd.cid_id) as clk_active_all |select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_all
|from data_feed_click jd inner join device_id_old |from data_feed_click jd inner join device_id_old
|on jd.device_id = device_id_old.device_id |on jd.device_id = device_id_old.decive_id
|where (jd.cid_type = 'diary' or jd.cid_type = 'diary_video') |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 bl_device_list)
|and jd.device_id not in (select device_id from blacklist) |and jd.device_id not in (select device_id from blacklist)
...@@ -129,48 +112,63 @@ object strategy_other { ...@@ -129,48 +112,63 @@ object strategy_other {
""".stripMargin """.stripMargin
) )
//所有有点击用户日记本曝光数 val imp_count_oldUser_all = sc.sql(
val imp_active_all = sc.sql(
s""" s"""
|select '${param.date}' as stat_date, count(je.cid_id) as imp_active_all |select '${param.date}' as stat_date, count(cid_id) as imp_count_oldUser_all
|from data_feed_exposure je inner join device_id_old |from data_feed_exposure je inner join device_id_old
|on je.device_id = device_id_old.device_id |on je.device_id = device_id_old.decive_id
|where je.cid_type = 'diary' |where je.cid_type = 'diary'
|and je.device_id in (select distinct(device_id) from data_feed_click where stat_date = '${param.date}')
|and je.device_id not in (select device_id from bl_device_list) |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.device_id not in (select device_id from blacklist)
|and je.stat_date ='${param.date}' |and je.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
//策略命中用户点击日记本用户数 //获取策略命中用户device_id
val clk_diary_device_cover = sc.sql( val device_id_cover = sc.sql(
s""" s"""
|select '${param.date}' as stat_date,count(distinct(device_id)) as clk_diary_device_cover |select distinct(device_id) as device_id
|from merge_queue_table |from merge_queue_table
|where device_id in (select distinct(device_id) from data_feed_click where stat_date = '${param.date}')
""".stripMargin """.stripMargin
) )
device_id_cover.createOrReplaceTempView("device_id_cover_older")
//策略命中用户总数 val clk_count_oldUser_Cover = sc.sql(
val device_all_cover = sc.sql(
s""" s"""
|select '${param.date}' as stat_date,count(distinct(device_id)) as device_all_cover |select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_Cover
|from merge_queue_table |from data_feed_click jd inner join device_id_cover_older
|on jd.device_id = device_id_cover_older.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 """.stripMargin
) )
val imp_count_oldUser_Cover = sc.sql(
s"""
|select '${param.date}' as stat_date, count(cid_id) as imp_count_oldUser_Cover
|from data_feed_exposure je inner join device_id_cover_older
|on je.device_id = device_id_cover_older.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
)
val result2 = clk_active_1.join(imp_active_1,"stat_date") val result1 = clk_count_oldUser_Contrast.join(imp_count_oldUser_Contrast,"stat_date")
.join(clk_active_all,"stat_date") .join(clk_count_oldUser_all,"stat_date")
.join(imp_active_all,"stat_date") .join(imp_count_oldUser_all,"stat_date")
.join(clk_diary_device,"stat_date") .join(clk_count_oldUser_Cover,"stat_date")
.join(clk_diary_device_cover,"stat_date") .join(imp_count_oldUser_Cover,"stat_date")
.join(device_all_cover,"stat_date") result1.show()
result2.show()
GmeiConfig.writeToJDBCTable(result2, "strategy_other", SaveMode.Append) GmeiConfig.writeToJDBCTable(result1, "Recommendation_strategy_temp", SaveMode.Append)
} }
......
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