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

统计复购用户日记本

parent ea0b5c83
......@@ -733,7 +733,7 @@ object smart_rank_count {
//话题相关问题统计
object question_count {
object bug_again_count {
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
Logger.getLogger("org.apache.eclipse.jetty.server").setLevel(Level.OFF)
......@@ -774,7 +774,7 @@ object question_count {
ti.tidbMapTable(dbName = "jerry_prod", tableName = "blacklist")
ti.tidbMapTable(dbName = "jerry_test", tableName = "bl_device_list")
ti.tidbMapTable(dbName = "jerry_prod", tableName = "data_feed_exposure")
ti.tidbMapTable(dbName = "jerry_prod", tableName = "merge_queue_table")
ti.tidbMapTable(dbName = "eagle", tableName = "src_mimas_prod_api_diary")
import sc.implicits._
......@@ -782,39 +782,39 @@ object question_count {
//println(param.date)
val partition_date = stat_date.replace("-","")
val agency_id = sc.sql(
val spam_order_id = sc.sql(
s"""
|SELECT DISTINCT(cl_id) as device_id
|FROM online.ml_hospital_spam_pv_day
|WHERE partition_date >= '20180402'
|AND partition_date <= '20190117'
|AND pv_ratio >= 0.95
|UNION ALL
|SELECT DISTINCT(cl_id) as device_id
|FROM online.ml_hospital_spam_pv_month
|WHERE partition_date >= '20171101'
|AND partition_date <= '20190117'
|AND pv_ratio >= 0.95
|select distinct(order_id)
|from mining.ml_order_spam_recognize
|where partition_date='${partition_date}'
""".stripMargin
)
agency_id.createOrReplaceTempView("agency_id")
spam_order_id.createOrReplaceTempView("spam_order_id")
val question_count = sc.sql(
val meigou_id_order = sc.sql(
s"""
|SELECT partition_date,count(cl_id)
|FROM online.tl_hdfs_maidian_view ov left join agency_id
|on ov.cl_id = agency_id.device_id
|WHERE ov.partition_date >= '20190101'
|and ov.action='community_home_click_feed_card'
|and ov.params["card_type"]="问题"
|and ov.cl_id not in (select device_id from blacklist)
|and agency_id.device_id is null
|GROUP BY ov.partition_date
|order by ov.partition_date
|select a.user_id from (select od.user_id,count(od.order_id) as order_num
|from online.ml_meigou_order_detail od left join spam_order_id
|on od.order_id=spam_order_id.order_id
|where od.status='2'
|and od.partition_date='${partition_date}'
|and spam_order_id.order_id is null
|group by od.user_id
|order by order_num) a
|where a.order_num>=2
""".stripMargin
)
meigou_id_order.createOrReplaceTempView("meigou_id_order")
question_count.show(30)
val diary_id = sc.sql(
s"""
|select sd.id,sd.user_id
|from src_mimas_prod_api_diary sd inner join meigou_id_order
|on sd.user_id=meigou_id_order.user_id
|where sd.partition_date='${partition_date}'
""".stripMargin
)
diary_id.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