Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
ffm-baseline
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ML
ffm-baseline
Commits
8803c25d
Commit
8803c25d
authored
Dec 10, 2018
by
王志伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
区别新老客户
parent
ab11177f
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
204 additions
and
20 deletions
+204
-20
testt.scala
eda/feededa/src/main/scala/com/gmei/testt.scala
+204
-20
No files found.
eda/feededa/src/main/scala/com/gmei/testt.scala
View file @
8803c25d
...
...
@@ -71,12 +71,48 @@ object testt {
)
// agency_id.show()
agency_id
.
createOrReplaceTempView
(
"agency_id"
)
//每日新用户
val
device_id_newUser
=
sc
.
sql
(
s
"""
|select distinct(device_id) as device_id
|from online.ml_device_day_active_status
|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'
| ,'toufang2','toufang3','toufang4','toufang5','toufang6','TF-toufang1','TF-toufang2','TF-toufang3','TF-toufang4'
| ,'TF-toufang5','tf-toufang1','tf-toufang2','tf-toufang3','tf-toufang4','tf-toufang5','benzhan','promotion_aso100'
| ,'promotion_qianka','promotion_xiaoyu','promotion_dianru','promotion_malioaso','promotion_malioaso-shequ'
| ,'promotion_shike','promotion_julang_jl03')
|and partition_date ='${partition_date}'
"""
.
stripMargin
)
device_id_newUser
.
createOrReplaceTempView
(
"device_id_new"
)
//每日老用户
val
device_id_oldUser
=
sc
.
sql
(
s
"""
|select distinct(device_id) as device_id
|from online.ml_device_day_active_status
|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'
| ,'toufang2','toufang3','toufang4','toufang5','toufang6','TF-toufang1','TF-toufang2','TF-toufang3','TF-toufang4'
| ,'TF-toufang5','tf-toufang1','tf-toufang2','tf-toufang3','tf-toufang4','tf-toufang5','benzhan','promotion_aso100'
| ,'promotion_qianka','promotion_xiaoyu','promotion_dianru','promotion_malioaso','promotion_malioaso-shequ'
| ,'promotion_shike','promotion_julang_jl03')
|and partition_date ='${partition_date}'
"""
.
stripMargin
)
device_id_oldUser
.
createOrReplaceTempView
(
"device_id_old"
)
//日记本转化美购
//1.日记本到美购转化数
val
diary_meigou_
count
=
sc
.
sql
(
val
diary_meigou_
device
=
sc
.
sql
(
s
"""
|select
'${stat_date}' as stat_date, count(page_name) as diary_meigou_count
|select
cl_id as device_id
|from online.bl_hdfs_page_view_updates ou left join agency_id
|on ou.cl_id = agency_id.device_id
|where ou.partition_date = '${partition_date}'
...
...
@@ -86,12 +122,44 @@ object testt {
|and ou.cl_id not in (select device_id from blacklist)
"""
.
stripMargin
)
diary_meigou_count
.
show
()
diary_meigou_device
.
createOrReplaceTempView
(
"diary_meigou_device"
)
//新用户到美购详情页的转化
val
diary_meigou_newUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_meigou_newUser
|from diary_meigou_device dd left join device_id_new
|on dd.device_id = device_id_new.device_id
|where device_id_new.device_id is not null
"""
.
stripMargin
)
//老用户到美购详情页的转化
val
diary_meigou_oldUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_meigou_oldUser
|from diary_meigou_device dd left join device_id_old
|on dd.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
"""
.
stripMargin
)
// val diary_meigou_count = sc.sql(
// s"""
// |select '${stat_date}' as stat_date, count(page_name) as diary_meigou_count
// |from online.bl_hdfs_page_view_updates ou left join agency_id
// |on ou.cl_id = agency_id.device_id
// |where ou.partition_date = '${partition_date}'
// |and ou.page_name='welfare_detail'
// |and ou.referrer='diary_detail'
// |and agency_id.device_id is null
// |and ou.cl_id not in (select device_id from blacklist)
// """.stripMargin
// )
// diary_meigou_count.show()
//2.日记本点击数
val
diary_clk
=
sc
.
sql
(
val
diary_clk
_device
=
sc
.
sql
(
s
"""
|select
'${stat_date}' as stat_date,count(cl_id) as diary_clk
|select
cl_id as device_id
|from online.tl_hdfs_maidian_view ov left join agency_id
|on ov.cl_id = agency_id.device_id
|where ov.action = 'on_click_diary_card'
...
...
@@ -101,12 +169,44 @@ object testt {
|and ov.cl_id not in (select device_id from blacklist)
"""
.
stripMargin
)
diary_clk
.
show
()
diary_clk_device
.
createOrReplaceTempView
(
"diary_clk_device"
)
//新用户日记本点击
val
diary_clk_newUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_clk_newUser
|from diary_clk_device dd left join device_id_new
|on dd.device_id = device_id_new.device_id
|where device_id_new.device_id is not null
"""
.
stripMargin
)
//老用户日记本点击
val
diary_clk_oldUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_clk_oldUser
|from diary_clk_device dd left join device_id_old
|on dd.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
"""
.
stripMargin
)
// val diary_clk = sc.sql(
// s"""
// |select '${stat_date}' as stat_date,count(cl_id) as diary_clk
// |from online.tl_hdfs_maidian_view ov left join agency_id
// |on ov.cl_id = agency_id.device_id
// |where ov.action = 'on_click_diary_card'
// |and ov.cl_id != "NULL"
// |and ov.partition_date='${partition_date}'
// |and agency_id.device_id is null
// |and ov.cl_id not in (select device_id from blacklist)
// """.stripMargin
// )
// diary_clk.show()
//3.日记本曝光数
val
diary_expoure
=
sc
.
sql
(
val
diary_expoure
_device
=
sc
.
sql
(
s
"""
|select
'${stat_date}' as stat_date,count(cl_id) as diary_expoure
|select
cl_id as device_id
|from online.ml_community_exposure_detail od left join agency_id
|on od.cl_id = agency_id.device_id
|where od.business_type = "diary"
...
...
@@ -116,12 +216,44 @@ object testt {
|and od.cl_id not in (select device_id from blacklist)
"""
.
stripMargin
)
diary_expoure
.
show
()
diary_expoure_device
.
createOrReplaceTempView
(
"diary_expoure_device"
)
//新用户日记本曝光
val
diary_exp_newUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_exp_newUser
|from diary_expoure_device dd left join device_id_new
|on dd.device_id = device_id_new.device_id
|where device_id_new.device_id is not null
"""
.
stripMargin
)
//老用户日记本曝光
val
diary_exp_oldUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as diary_exp_oldUser
|from diary_expoure_device dd left join device_id_old
|on dd.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
"""
.
stripMargin
)
// val diary_expoure=sc.sql(
// s"""
// |select '${stat_date}' as stat_date,count(cl_id) as diary_expoure
// |from online.ml_community_exposure_detail od left join agency_id
// |on od.cl_id = agency_id.device_id
// |where od.business_type = "diary"
// |and od.cl_id != "NULL"
// |and od.partition_date='${partition_date}'
// |and agency_id.device_id is null
// |and od.cl_id not in (select device_id from blacklist)
// """.stripMargin
// )
// diary_expoure.show()
//4.搜索次数统计
val
search_
count
=
sc
.
sql
(
val
search_
device
=
sc
.
sql
(
s
"""
|select
'${stat_date}' as stat_date,count(params['query']) as search_num
|select
cl_id as device_id
|from online.tl_hdfs_maidian_view ov left join agency_id
|on ov.cl_id = agency_id.device_id
|where (ov.action = 'do_search' or ov.action = 'search_result_click_search')
...
...
@@ -130,13 +262,30 @@ object testt {
|and ov.cl_id not in (select device_id from blacklist)
"""
.
stripMargin
)
search_count
.
show
()
search_device
.
createOrReplaceTempView
(
"search_device"
)
//新用户搜索次数
val
search_newUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as search_newUser
|from search_device sd left join device_id_new
|on sd.device_id = device_id_new.device_id
|where device_id_new.device_id is not null
"""
.
stripMargin
)
//老用户日搜索次数
val
search_oldUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(device_id) as search_oldUser
|from search_device sd left join device_id_old
|on sd.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
"""
.
stripMargin
)
//5.登录人数
val
log_num
=
sc
.
sql
(
val
log_device
=
sc
.
sql
(
s
"""
|select
'${stat_date}' as stat_date,count(distinct(device_id)) as log_num
|select
distinct(device_id) as log_device
|from data_feed_exposure oe left join agency_id
|on oe.device_id = agency_id.device_id
|and oe.stat_date ='${stat_date}'
...
...
@@ -144,12 +293,47 @@ object testt {
|and oe.device_id not in (select device_id from blacklist)
"""
.
stripMargin
)
log_num
.
show
()
log_device
.
createOrReplaceTempView
(
"log_device"
)
//新用户登录人数
val
log_newUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(distinct(device_id)) as log_newUser
|from log_device ld left join device_id_new
|on ld.device_id = device_id_new.device_id
|where device_id_new.device_id is not null
"""
.
stripMargin
)
//老用户登录人数
val
log_oldUser
=
sc
.
sql
(
s
"""
|select '${stat_date}' as stat_date, count(distinct(device_id)) as log_oldUser
|from log_device ld left join device_id_old
|on ld.device_id = device_id_old.device_id
|where device_id_old.device_id is not null
"""
.
stripMargin
)
// val log_num = sc.sql(
// s"""
// |select '${stat_date}' as stat_date,count(distinct(device_id)) as log_num
// |from data_feed_exposure oe left join agency_id
// |on oe.device_id = agency_id.device_id
// |and oe.stat_date ='${stat_date}'
// |and agency_id.device_id is null
// |and oe.device_id not in (select device_id from blacklist)
// """.stripMargin
// )
// log_num.show()
val
result
=
diary_meigou_count
.
join
(
diary_clk
,
"stat_date"
)
.
join
(
diary_expoure
,
"stat_date"
)
.
join
(
search_count
,
"stat_date"
)
.
join
(
log_num
,
"stat_date"
)
val
result
=
diary_meigou_newUser
.
join
(
diary_meigou_oldUser
,
"stat_date"
)
.
join
(
diary_clk_newUser
,
"stat_date"
)
.
join
(
diary_clk_oldUser
,
"stat_date"
)
.
join
(
diary_exp_newUser
,
"stat_date"
)
.
join
(
diary_exp_oldUser
,
"stat_date"
)
.
join
(
search_newUser
,
"stat_date"
)
.
join
(
search_oldUser
,
"stat_date"
)
.
join
(
log_newUser
,
"stat_date"
)
.
join
(
log_oldUser
,
"stat_date"
)
GmeiConfig
.
writeToJDBCTable
(
result
,
"diary_meigou_crv"
,
SaveMode
.
Append
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment