Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
M
meta_base_code
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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
宋柯
meta_base_code
Commits
317a2862
Commit
317a2862
authored
Oct 26, 2020
by
litaolemo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
02cad25b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
89 additions
and
17 deletions
+89
-17
spark_test.py
task/spark_test.py
+89
-17
No files found.
task/spark_test.py
View file @
317a2862
...
...
@@ -154,36 +154,108 @@ print(huidu_device_id_sql)
huidu_device_id_df
=
spark
.
sql
(
huidu_device_id_sql
)
huidu_device_id_df
.
createOrReplaceTempView
(
"dev_view"
)
sql_search_ctr
=
r"""
SELECT query,count(query)
-- click.partition_date as partition_date
-- ,active_type
-- ,device_os_type
-- ,channel
-- ,count(click.cl_id) as all_search_click_pv_724
-- ,count(distinct click.cl_id) as all_search_click_uv_724
SELECT query,search_pv,search_uv
FROM
(
SELECT query,
,count(t1.cl_id) as search_pv
,count(distinct t1.cl_id) as search_uv
FROM
(
SELECT partition_date
,params['query'] as query
,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= start_date
AND partition_date < end_date
AND ((action = 'do_search' AND params['input_type']<>'everyone_watch') or action='search_result_click_search')
SELECT params['query'] as query
UNION ALL
SELECT partition_date,params['query'] as query,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >=
'{start_date}'
AND partition_date < '{end_date}'
WHERE partition_date >=
start_date
AND partition_date < end_date
AND action = 'do_search'
AND params['input_type'] = '详情页默认词'
and params['input_type']='everyone_watch'
and params['tab']='精选'
and page_name='home'
AND params['query'] not in ('AI测颜值','AI测肤质') --这两个词不跳转搜索结果页
union all
SELECT par
ams['card_name'] as query
UNION ALL
SELECT par
tition_date,params['query'] as query,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= '{start_date}'
AND partition_date < '{end_date}'
WHERE partition_date >= start_date
AND partition_date < end_date
AND action = 'on_click_card'
AND params['page_name']='search_home'
UNION ALL
SELECT partition_date
,params['card_name'] as query
,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= start_date
AND partition_date < end_date
AND action = 'on_click_card'
AND params['in_page_pos']='猜你喜欢'
AND params['tab_name']='精选'
--
AND params['tab_name']='精选'
AND params['card_type']='search_word'
AND params['card_name'] not in ('AI测颜值','AI测肤质') --这两个词不跳转搜索结果页
--AND page_name='home' android的page_name为空
UNION ALL
SELECT partition_date
,params['card_name'] as query
,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= start_date
AND partition_date < end_date
AND action = 'on_click_card'
AND page_name='welfare_home'
AND params['card_type'] ='search_word'
AND params['in_page_pos']='大家都在搜'
) group by query
UNION ALL
SELECT partition_date
,params['card_name'] as query
,cl_id
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= start_date
AND partition_date < end_date
AND int(split(app_version,'\\.')[1]) >= 27
AND action='on_click_card'
AND params['card_type']='highlight_word'
)t1
JOIN
(
SELECT partition_date,device_id,t2.active_type,t2.channel,t2.device_os_type
FROM
(
SELECT
partition_date,m.device_id
,array(device_os_type ,'合计') as device_os_type
,array(case WHEN active_type = '4' THEN '老活'
WHEN active_type in ('1','2') then '新增' END ,'合计') as active_type
,array(CASE WHEN is_ai_channel = 'true' THEN 'AI' ELSE '其他' END , '合计') as channel
FROM online.ml_device_day_active_status m
LEFT JOIN
(SELECT code,is_ai_channel,partition_day
FROM DIM.DIM_AI_CHANNEL_ZP_NEW
WHERE partition_day>= start_date
AND partition_day < end_date) tmp
ON m.partition_date=tmp.partition_day AND first_channel_source_type=code
WHERE partition_date >= start_date
AND partition_date < end_date
AND active_type in ('1','2','4')
) mas
LATERAL VIEW explode(mas.channel) t2 AS channel
LATERAL VIEW explode(mas.device_os_type) t2 AS device_os_type
LATERAL VIEW explode(mas.active_type) t2 AS active_type
)t2
on t1.cl_id=t2.device_id AND t1.partition_date = t2.partition_date
GROUP BY query
)
"""
.
format
(
start_date
=
'20201024'
,
end_date
=
'20201025'
)
print
(
sql_search_ctr
)
...
...
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