Commit 317a2862 authored by litaolemo's avatar litaolemo

update

parent 02cad25b
...@@ -154,36 +154,108 @@ print(huidu_device_id_sql) ...@@ -154,36 +154,108 @@ print(huidu_device_id_sql)
huidu_device_id_df = spark.sql(huidu_device_id_sql) huidu_device_id_df = spark.sql(huidu_device_id_sql)
huidu_device_id_df.createOrReplaceTempView("dev_view") huidu_device_id_df.createOrReplaceTempView("dev_view")
sql_search_ctr = r""" sql_search_ctr = r"""
SELECT query,count(query) SELECT query,search_pv,search_uv
-- click.partition_date as partition_date FROM
-- ,active_type (
-- ,device_os_type SELECT query,
-- ,channel ,count(t1.cl_id) as search_pv
-- ,count(click.cl_id) as all_search_click_pv_724 ,count(distinct t1.cl_id) as search_uv
-- ,count(distinct click.cl_id) as all_search_click_uv_724 FROM
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 FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= '{start_date}' WHERE partition_date >= start_date
AND partition_date < '{end_date}' AND partition_date < end_date
AND action = 'do_search' 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 UNION ALL
SELECT params['card_name'] as query SELECT partition_date,params['query'] as query,cl_id
FROM online.bl_hdfs_maidian_updates FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= '{start_date}' WHERE partition_date >= start_date
AND partition_date < '{end_date}' AND partition_date < end_date
AND action = 'on_click_card' AND action = 'on_click_card'
AND params['in_page_pos']='猜你喜欢' AND params['page_name']='search_home'
AND params['tab_name']='精选'
AND params['card_type']='search_word'
--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 params['in_page_pos']='猜你喜欢'
--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') """.format(start_date='20201024',end_date='20201025')
print(sql_search_ctr) print(sql_search_ctr)
......
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