impala 和 hive 分别拼接成json 串格式。

匿名 (未验证) 提交于 2019-12-02 23:56:01

impala:

      --各操作系统的IP数
      select 
                 idsite,site_name,json_key,
                   concat(
                        '{',group_concat(concat(concat('"',flag2,'"'),':',cast(value as string))),
                        '}'
                    ) as json_value,
                  '各操作系统的IP数' as key_name
        from
          (
            select  idsite,site_name ,'each_os_ip_cnt' as json_key, config_os_all as flag2, 
                 nvl(  count(distinct  ipaddr) ,0)  as value             
             from  ana_fx_goal.web_goal_daily_htsc_common_page
             where hdfs_par ='__TODAY__' 
               and config_os_all <> ''             
             group by config_os_all , site_name ,idsite
          )b
        group by idsite,site_name,json_key ;

 

hive:

  --分时段用户数 0-23点
            select 
                 idsite,site_name, json_key,
                 concat('{',concat_ws(',',collect_set(concat(concat('"',flag2,'"'),':',nvl(value,'null')))),'}')  as json_value,
                 '分时段用户数' as key_name
           from
            ( 
              select    idsite,site_name ,'each_hour_users' as json_key, h  as flag2,
                     IF(idvisit_n is null,0,idvisit_n)  as value
               from (
                      select count(distinct user_id) idvisit_n,h,site_name,idsite
                      from
                          (  
                           select idvisit_n,site_name,idsite,user_id,
                                   hh as  h
                            from ana_fx_goal.web_goal_daily_htsc_common_page
                           where hdfs_par ='__TODAY__' 
                           )t
                      group by h,site_name,idsite
                      )a
            )b
         group by idsite,site_name,json_key

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!