队列名称

集群:hibis     队列:root.hibis_autocar.dev            上线500%   可设置优先级
集群:hl        队列:root.hl_autocar.dev               上线500%   可设置优先级
集群:lobst     队列:root.lobst_autocar_analysis       上线800%   可设置优先级
集群:default   队列:root.autocar.stats                上线500%   不可设置优先级

--优化数据,慎用排序,排序数据容易倾斜,特别慢

-- 车系页及下属页面停留时长
    select
        '${date}' as date,
        t_car_series.device_id,
        t_car_series.series_sub_stay_time / 60000 as series_sub_stay_time,
        t_distinct.os_name,
        t_distinct.is_new,
        t_distinct.channel
    from
    (
        select
            device_id,
            sum(params['stay_time']) as series_sub_stay_time
        from 
            dm_autocar.autocar_mds_event_detail
        where 
            date = '${date}'
            and event = 'stay_page_pageid'
            and 
            (
                params['page_id'] in ('page_car_series','page_car_series_atlas','page_more_config','page_series_owner_price','page_car_pk_list','page_series_atlas_3d_full_screen','page_series_pic_detail','page_series_pic_item_selected','anchor_list_page','page_series_video_detail','page_car_owner_price','page_car_owner_price_upload','page_brand_list_garage','page_series_pk','page_car_style_list','page_car_highlights_list','highlight_config_detail_page','page_car_style','page_car_dealer','page_order_specdealer','page_order_sugdealer')
                or (params['page_id'] = 'page_detail' and params['pre_page_id'] = 'page_car_series')
                or (params['page_id'] = 'page_ugc_video_detail' and params['pre_page_id'] = 'page_car_series')
                or (params['page_id'] = 'page_car_talk_main' and params['pre_page_id'] = 'page_car_series')
                or (params['page_id'] = 'page_reputation_detail' and params['pre_page_id'] = 'page_car_series')
            )
        group by device_id
    )t_car_series

    inner join
    (
        select
            cast(device_id as string) as device_id,
            nvl(os,'其他') as os_name,
            if(activation_date = '${DATE}',1,0) as is_new,
            nvl(channel_account_subclass,'其他') as channel
        from
        (
            select
                device_id,
                os,
                activation_date,
                channel
            from
                dm_autocar.autocar_mds_user_by_device_distinct
            where
                date = '${date}'
                and is_background = 0
        )t_distinct_dau

        left outer join 
        (
            select
                channel_name,
                channel_account_subclass
            from
                growth.o_pgl_channel_all  
            where
                date = '${date}'
                and app_name = 'automobile'
            group by
                channel_name,
                channel_account_subclass
        )t_channel
        on t_distinct_dau.channel = t_channel.channel_name
    )t_distinct
    on t_car_series.device_id = t_distinct.device_id
    where  channel = '内部互推'
    -- order by series_sub_stay_time desc limit 1000000000
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务