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,89 +87,88 @@ object strategy_other { ...@@ -88,89 +87,88 @@ 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"""
s""" |select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_all
|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
|from data_feed_click jd inner join device_id_old |on jd.device_id = device_id_old.decive_id
|on jd.device_id = device_id_old.device_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 regexp'1$$' |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) """.stripMargin
|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 imp_count_oldUser_all
val clk_active_all = sc.sql( |from data_feed_exposure je inner join device_id_old
s""" |on je.device_id = device_id_old.decive_id
|select '${param.date}' as stat_date, count(jd.cid_id) as clk_active_all |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.device_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 not in (select device_id from bl_device_list) """.stripMargin
|and jd.device_id not in (select device_id from blacklist) )
|and jd.stat_date ='${param.date}'
""".stripMargin //获取策略命中用户device_id
) val device_id_cover = sc.sql(
s"""
//所有有点击用户日记本曝光数 |select distinct(device_id) as device_id
val imp_active_all = sc.sql( |from merge_queue_table
s""" """.stripMargin
|select '${param.date}' as stat_date, count(je.cid_id) as imp_active_all )
|from data_feed_exposure je inner join device_id_old device_id_cover.createOrReplaceTempView("device_id_cover_older")
|on je.device_id = device_id_old.device_id
|where je.cid_type = 'diary'
|and je.device_id in (select distinct(device_id) from data_feed_click where stat_date = '${param.date}') val clk_count_oldUser_Cover = sc.sql(
|and je.device_id not in (select device_id from bl_device_list) s"""
|and je.device_id not in (select device_id from blacklist) |select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_Cover
|and je.stat_date ='${param.date}' |from data_feed_click jd inner join device_id_cover_older
""".stripMargin |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)
val clk_diary_device_cover = sc.sql( |and jd.stat_date ='${param.date}'
s""" """.stripMargin
|select '${param.date}' as stat_date,count(distinct(device_id)) as clk_diary_device_cover )
|from merge_queue_table
|where device_id in (select distinct(device_id) from data_feed_click where stat_date = '${param.date}') val imp_count_oldUser_Cover = sc.sql(
""".stripMargin 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
val device_all_cover = sc.sql( |where je.cid_type = 'diary'
s""" |and je.device_id not in (select device_id from bl_device_list)
|select '${param.date}' as stat_date,count(distinct(device_id)) as device_all_cover |and je.device_id not in (select device_id from blacklist)
|from merge_queue_table |and je.stat_date ='${param.date}'
""".stripMargin """.stripMargin
) )
val result2 = clk_active_1.join(imp_active_1,"stat_date")
.join(clk_active_all,"stat_date") val result1 = clk_count_oldUser_Contrast.join(imp_count_oldUser_Contrast,"stat_date")
.join(imp_active_all,"stat_date") .join(clk_count_oldUser_all,"stat_date")
.join(clk_diary_device,"stat_date") .join(imp_count_oldUser_all,"stat_date")
.join(clk_diary_device_cover,"stat_date") .join(clk_count_oldUser_Cover,"stat_date")
.join(device_all_cover,"stat_date") .join(imp_count_oldUser_Cover,"stat_date")
result2.show() result1.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