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

增加统计数据

parent e69c34c9
......@@ -154,6 +154,40 @@ object Recommendation_strategy_all {
|and je.stat_date ='${stat_date}'
""".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 {
.join(imp_count_oldUser_all,"stat_date")
.join(clk_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()
GmeiConfig.writeToJDBCTable(result1, "Recommendation_strategy_temp", SaveMode.Append)
......@@ -269,6 +306,10 @@ object Recommendation_strategy_all {
}
......
......@@ -36,7 +36,7 @@ object strategy_other {
s"| --env ${defaultParams.env}"
)
}
//统计每天新用户的点击率
def main(args: Array[String]): Unit = {
parser.parse(args, defaultParams).map { param =>
GmeiConfig.setup(param.env)
......@@ -56,11 +56,11 @@ object strategy_other {
//val stat_date = GmeiConfig.getMinusNDate(1)
//println(param.date)
val partition_date = param.date.replace("-","")
val devicee_id_oldUser = sc.sql(
val devicee_id_newUser = sc.sql(
s"""
|select distinct(device_id) as device_id
|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'
| ,'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'
......@@ -71,15 +71,14 @@ object strategy_other {
|and partition_date ='${partition_date}'
""".stripMargin
)
devicee_id_oldUser.show()
devicee_id_oldUser.createOrReplaceTempView("device_id_old")
devicee_id_newUser.show()
devicee_id_newUser.createOrReplaceTempView("device_id_new")
//device_id尾号1有点击用户日记本点击数
val clk_active_1 = sc.sql(
val clk_count_oldUser_Contrast = sc.sql(
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
|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')
|and jd.device_id regexp'1$$'
|and jd.device_id not in (select device_id from bl_device_list)
......@@ -88,89 +87,88 @@ object strategy_other {
""".stripMargin
)
//device_id尾号1有点击用户日记本曝光数
val imp_active_1 = sc.sql(
val imp_count_oldUser_Contrast = sc.sql(
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
|on je.device_id = device_id_old.device_id
|on je.device_id = device_id_old.decive_id
|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 blacklist)
|and je.stat_date ='${param.date}'
""".stripMargin
)
//device_id尾号1点击日记本用户数
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"""
|select '${param.date}' as stat_date, count(jd.cid_id) as clk_active_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}'
""".stripMargin
)
//所有有点击用户日记本曝光数
val imp_active_all = sc.sql(
s"""
|select '${param.date}' as stat_date, count(je.cid_id) as imp_active_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 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 blacklist)
|and je.stat_date ='${param.date}'
""".stripMargin
)
//策略命中用户点击日记本用户数
val clk_diary_device_cover = sc.sql(
s"""
|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}')
""".stripMargin
)
//策略命中用户总数
val device_all_cover = sc.sql(
s"""
|select '${param.date}' as stat_date,count(distinct(device_id)) as device_all_cover
|from merge_queue_table
""".stripMargin
)
val result2 = clk_active_1.join(imp_active_1,"stat_date")
.join(clk_active_all,"stat_date")
.join(imp_active_all,"stat_date")
.join(clk_diary_device,"stat_date")
.join(clk_diary_device_cover,"stat_date")
.join(device_all_cover,"stat_date")
result2.show()
GmeiConfig.writeToJDBCTable(result2, "strategy_other", SaveMode.Append)
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.decive_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
)
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.decive_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
)
//获取策略命中用户device_id
val device_id_cover = sc.sql(
s"""
|select distinct(device_id) as device_id
|from merge_queue_table
""".stripMargin
)
device_id_cover.createOrReplaceTempView("device_id_cover_older")
val clk_count_oldUser_Cover = sc.sql(
s"""
|select '${param.date}' as stat_date, count(cid_id) as clk_count_oldUser_Cover
|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
)
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 result1 = clk_count_oldUser_Contrast.join(imp_count_oldUser_Contrast,"stat_date")
.join(clk_count_oldUser_all,"stat_date")
.join(imp_count_oldUser_all,"stat_date")
.join(clk_count_oldUser_Cover,"stat_date")
.join(imp_count_oldUser_Cover,"stat_date")
result1.show()
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