SELECT NVL(t2.partition_date,t3.partition_date) as partition_date
,NVL(t2.cl_id,t3.cl_id) as cl_id
,NVL(t2.query,t3.query) as query
,NVL(t2.pv,0) as hexin
,NVL(t3.pv,0) as neirong
FROM
(--核心卡片点击
SELECT partition_date
,params['query'] as query
,cl_id
,count(1) as pv
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= {yesterday_str}
AND partition_date < {today_str}
AND ((action in ('search_result_click_recommend_item','search_result_welfare_click_item','search_result_hospital_click_item','search_result_doctor_click_item','on_click_doctor_card', 'on_click_hospital_card')
AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
or (action = 'goto_welfare_detail' AND params [ 'from' ] = 'search_result_welfare_recommend')
or (action = 'on_click_card' AND params['card_content_type'] in ('service','hospital','doctor') AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
or (action = 'on_click_button' AND params['button_name'] = 'check_plan' AND page_name = 'search_result_more'))
GROUP BY partition_date
,params['query']
,cl_id
)t2
FULL JOIN
(--内容卡片点击
SELECT partition_date
,params['query'] as query
,cl_id
,count(1) as pv
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= {yesterday_str}
AND partition_date < {today_str}
AND ((action in ('on_click_topic_card','on_click_diary_card','search_result_click_infomation_item')
AND page_name in ('search_result_more','search_result_diary','search_result_post'))
or (action = 'on_click_card' AND params['card_content_type'] in ('answer','diary') AND page_name in ('search_result_more','search_result_diary','search_result_question_answer')))
AND ((action in ('search_result_click_recommend_item','search_result_welfare_click_item','search_result_hospital_click_item','search_result_doctor_click_item','on_click_doctor_card', 'on_click_hospital_card')
SELECT partition_date
AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
,params['query'] as query
or (action = 'goto_welfare_detail' AND params [ 'from' ] = 'search_result_welfare_recommend')
,cl_id
or (action = 'on_click_card' AND params['card_content_type'] in ('service','hospital','doctor') AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
FROM online.bl_hdfs_maidian_updates
or (action = 'on_click_button' AND params['button_name'] = 'check_plan' AND page_name = 'search_result_more'))
WHERE partition_date >= {yesterday_str}
GROUP BY partition_date
AND partition_date < {today_str}
,params['query']
AND action in ('do_search','search_result_click_search')
,cl_id
)t2
UNION ALL
FULL JOIN
SELECT partition_date,params['query'] as query,cl_id
(--内容卡片点击
FROM online.bl_hdfs_maidian_updates
SELECT partition_date
WHERE partition_date >= {yesterday_str}
,params['query'] as query
AND partition_date < {today_str}
,cl_id
AND action = 'on_click_card'
,count(1) as pv
AND params['page_name']='search_home'
FROM online.bl_hdfs_maidian_updates
WHERE partition_date >= {yesterday_str}
UNION ALL
AND partition_date < {today_str}
SELECT partition_date
AND ((action in ('on_click_topic_card','on_click_diary_card','search_result_click_infomation_item')
,params['card_name'] as query
AND page_name in ('search_result_more','search_result_diary','search_result_post'))
,cl_id
or (action = 'on_click_card' AND params['card_content_type'] in ('answer','diary') AND page_name in ('search_result_more','search_result_diary','search_result_question_answer')))
SELECT NVL(t2.partition_date,t3.partition_date) as partition_date
if(size(device_list) > 0, device_list [ 0 ], '') AS device_id
,NVL(t2.cl_id,t3.cl_id) as cl_id
FROM online.ml_user_updates
,NVL(t2.query,t3.query) as query
WHERE partition_date>='${{yesterday_str}}' AND partition_date<'${{today_str}}'
,NVL(t2.pv,0) as hexin
)t1
,NVL(t3.pv,0) as neirong
JOIN
FROM
( --医生账号
(--核心卡片点击
SELECT distinct user_id
SELECT partition_date
FROM online.tl_hdfs_doctor_view
,params['query'] as query
WHERE partition_date = {yesterday_str}
,cl_id
,count(1) as pv
--马甲账号/模特用户
FROM online.bl_hdfs_maidian_updates
UNION ALL
WHERE partition_date >= {yesterday_str}
SELECT user_id
AND partition_date < {today_str}
FROM ml.ml_c_ct_ui_user_dimen_d
AND ((action in ('search_result_click_recommend_item','search_result_welfare_click_item','search_result_hospital_click_item','search_result_doctor_click_item','on_click_doctor_card', 'on_click_hospital_card')
WHERE partition_day = {yesterday_str}
AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
AND (is_puppet = 'true' or is_classifyuser = 'true')
or (action = 'goto_welfare_detail' AND params [ 'from' ] = 'search_result_welfare_recommend')
or (action = 'on_click_card' AND params['card_content_type'] in ('service','hospital','doctor') AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
UNION ALL
or (action = 'on_click_button' AND params['button_name'] = 'check_plan' AND page_name = 'search_result_more'))
--公司内网覆盖用户
GROUP BY partition_date
select distinct user_id
,params['query']
from dim.dim_device_user_staff
,cl_id
)t2
UNION ALL
FULL JOIN
--登陆过医生设备
(--内容卡片点击
SELECT distinct t1.user_id
SELECT partition_date
FROM
,params['query'] as query
(
,cl_id
SELECT user_id, v.device_id as device_id
,count(1) as pv
FROM online.ml_user_history_detail
FROM online.bl_hdfs_maidian_updates
LATERAL VIEW EXPLODE(device_history_list) v AS device_id
WHERE partition_date >= {yesterday_str}
WHERE partition_date = {yesterday_str}
AND partition_date < {today_str}
)t1
AND ((action in ('on_click_topic_card','on_click_diary_card','search_result_click_infomation_item')
JOIN
AND page_name in ('search_result_more','search_result_diary','search_result_post'))
(
or (action = 'on_click_card' AND params['card_content_type'] in ('answer','diary') AND page_name in ('search_result_more','search_result_diary','search_result_question_answer')))
SELECT device_id
GROUP BY partition_date
FROM online.ml_device_history_detail
,params['query']
WHERE partition_date = {yesterday_str}
,cl_id
AND is_login_doctor = '1'
)t3
)t2
on t3.partition_date=t2.partition_date
ON t1.device_id = t2.device_id
AND t3.query=t2.query
)t2
AND t3.cl_id=t2.cl_id
on t1.user_id=t2.user_id
)t1
group by t1.partition_date,device_id
JOIN
)dev1
(
on t1.partition_date=dev1.partition_date and t1.cl_id=dev1.device_id
# SELECT NVL(t2.partition_date,t3.partition_date) as partition_date
# ,NVL(t2.cl_id,t3.cl_id) as cl_id
# ,NVL(t2.query,t3.query) as query
# ,NVL(t2.pv,0) as hexin
# ,NVL(t3.pv,0) as neirong
# FROM
# (--核心卡片点击
# SELECT partition_date
# ,params['query'] as query
# ,cl_id
# ,count(1) as pv
# FROM online.bl_hdfs_maidian_updates
# WHERE partition_date >= {yesterday_str}
# AND partition_date < {today_str}
# AND ((action in ('search_result_click_recommend_item','search_result_welfare_click_item','search_result_hospital_click_item','search_result_doctor_click_item','on_click_doctor_card', 'on_click_hospital_card')
# AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
# or (action = 'goto_welfare_detail' AND params [ 'from' ] = 'search_result_welfare_recommend')
# or (action = 'on_click_card' AND params['card_content_type'] in ('service','hospital','doctor') AND page_name in ('search_result_more','search_result_welfare','search_result_hospital','search_result_doctor'))
# or (action = 'on_click_button' AND params['button_name'] = 'check_plan' AND page_name = 'search_result_more'))
# GROUP BY partition_date
# ,params['query']
# ,cl_id
# )t2
# FULL JOIN
# (--内容卡片点击
# SELECT partition_date
# ,params['query'] as query
# ,cl_id
# ,count(1) as pv
# FROM online.bl_hdfs_maidian_updates
# WHERE partition_date >= {yesterday_str}
# AND partition_date < {today_str}
# AND ((action in ('on_click_topic_card','on_click_diary_card','search_result_click_infomation_item')
# AND page_name in ('search_result_more','search_result_diary','search_result_post'))
# or (action = 'on_click_card' AND params['card_content_type'] in ('answer','diary') AND page_name in ('search_result_more','search_result_diary','search_result_question_answer')))