Commit 36216c6f authored by 王志伟's avatar 王志伟

统计新指标,device_clk_imp_reason

parent 8178e56b
...@@ -717,6 +717,7 @@ object find_reason { ...@@ -717,6 +717,7 @@ object find_reason {
s""" s"""
|select distinct(os.device_id) as device_id |select distinct(os.device_id) as device_id
|from online.ml_device_day_active_status os left join blacklist |from online.ml_device_day_active_status os left join blacklist
|on os.device_id = blacklist.device_id
|where os.active_type != '4' |where os.active_type != '4'
|and os.first_channel_source_type not in ('yqxiu1','yqxiu2','yqxiu3','yqxiu4','yqxiu5','mxyc1','mxyc2','mxyc3' |and os.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'
...@@ -754,36 +755,113 @@ object find_reason { ...@@ -754,36 +755,113 @@ object find_reason {
device_id_oldUser.createOrReplaceTempView("device_id_old") device_id_oldUser.createOrReplaceTempView("device_id_old")
//日记本转化美购
//1.日记本到美购转化数 val all_clk = sc.sql(
val diary_meigou_temp = sc.sql(
s""" s"""
|select ou.cl_id as device_id |select '${stat_date}' as stat_date,ov.cl_id as device_id
|from online.bl_hdfs_page_view_updates ou left join agency_id |from online.tl_hdfs_maidian_view ov left join agency_id
|on ou.cl_id = agency_id.device_id |on ov.cl_id = agency_id.device_id
|where ou.partition_date = '${partition_date}' |where ov.action = 'on_click_diary_card'
|and ou.page_name='welfare_detail' |and ov.cl_id != "NULL"
|and ou.referrer='diary_detail' |and ov.partition_date='${partition_date}'
|and agency_id.device_id is null |and agency_id.device_id is null
""".stripMargin """.stripMargin
) )
diary_meigou_temp.createOrReplaceTempView("diary_meigou_temp") all_clk.createOrReplaceTempView("all_clk_diary_card")
//1.当天老用户中的点击用户数
val old_clk_count = sc.sql(
s"""
|select stat_date,count(ov.device_id) as old_clk_count
|from all_clk_diary_card oc left join device_id_old
|on oc.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
|group by stat_date
""".stripMargin
)
//1.1有点击的老用户
val old_clk_device = sc.sql(
s"""
|select oc.device_id as device_id
|from all_clk_diary_card oc left join device_id_old
|on oc.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
""".stripMargin
)
old_clk_device.createOrReplaceTempView("old_clk_device")
//2.当天新用户中的点击用户数
val new_clk_count = sc.sql(
s"""
|select stat_date,count(oc.device_id) as old_clk_count
|from all_clk_diary_card oc left join device_id_new
|on oc.device_id = device_id_new.device_id
|where device_id_old.device_id is not null
|group by stat_date
""".stripMargin
)
//2.1 有点击的新用户
val new_clk_device = sc.sql(
s"""
|select oc.device_id as device_id
|from all_clk_diary_card oc left join device_id_new
|on oc.device_id = device_id_new.device_id
|where device_id_old.device_id is not null
""".stripMargin
)
new_clk_device.createOrReplaceTempView("new_clk_device")
// val result = diary_meigou_newUser.join(diary_meigou_oldUser,"stat_date")
// .join(diary_clk_newUser,"stat_date") //3.当天老用户数
// .join(diary_clk_oldUser,"stat_date")
// .join(diary_exp_newUser,"stat_date") val old_count = sc.sql(
// .join(diary_exp_oldUser,"stat_date") s"""
// .join(search_newUser,"stat_date") |select '${stat_date}' as stat_date,count(dio.device_id) as old_count
// .join(search_oldUser,"stat_date") |from device_id_old dio left join agency_id
// .join(log_newUser,"stat_date") |on dio.device_id = agency_id.device_id
// .join(log_oldUser,"stat_date") |where agency_id.device_id is null
// """.stripMargin
// GmeiConfig.writeToJDBCTable(result, "diary_meigou_crv", SaveMode.Append) )
//4.当天新用户数
val new_count = sc.sql(
s"""
|select '${stat_date}' as stat_date,count(din.device_id) as new_count
|from device_id_new din left join agency_id
|on din.device_id = agency_id.device_id
|where agency_id.device_id is null
""".stripMargin
)
//5.有点击老用户的曝光数
val exp_clkold_count = sc.sql(
s"""
|select '${stat_date}' as stat_date,count(din.device_id) as imp_clkold_count
|from data_feed_exposure_precise dp left join old_clk_device
|on dp.device_id = old_clk_device.device_id
|where old_clk_device.device_id is not null
""".stripMargin
)
//6.有点击新用户的曝光数
val exp_clknew_count = sc.sql(
s"""
|select '${stat_date}' as stat_date,count(din.device_id) as imp_clknew_count
|from data_feed_exposure_precise dp left join new_clk_device
|on dp.device_id = new_clk_device.device_id
|where new_clk_device.device_id is not null
""".stripMargin
)
val result = old_clk_count.join(new_clk_count,"stat_date")
.join(old_count,"stat_date")
.join(new_count,"stat_date")
.join(exp_clkold_count,"stat_date")
.join(exp_clknew_count,"stat_date")
GmeiConfig.writeToJDBCTable(result, "device_clk_imp_reason", 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