• hive sql基础了解


       会有些不一样

      1 例如使用SQL 之前,要了解用了那个库,use jz_daojia

      2 使用GET_JSON_OBJECT 函数等,以及参数 匹配 $.childBrithDay

       挺有意思的。新玩意哦

    --odps sql 
    --********************************************************************--
    --author:jz_admin
    --create time:2019-11-11 10:14:49
    --********************************************************************--
    -- 这是什么意思?
    -- 获取线索id,以及线索标签。
    use jz_daojia;
    SELECT  a.id
            ,CONCAT_WS(',', COLLECT_SET(b.dict_value)) AS clue_labels
    FROM    (
                SELECT  a.id
                        ,b.clue_label
                FROM    (
                            SELECT  a.id
                                    ,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
                            FROM    o_jz_clue_t_sale_clue a
                            WHERE   dt = '${bdp.system.bizdate}'
                        ) a
                LATERAL VIEW EXPLODE(SPLIT(clue_label, ',')) b AS clue_label
            ) a LEFT
    JOIN    (
                SELECT  *
                FROM    o_jz_clue_t_dict
                WHERE   dt = '${bdp.system.bizdate}'
                AND     type IN ('target_unconform_label', 'clue_label','target_conform_label')
            ) b
    ON      a.clue_label = b.dict_key
    GROUP BY a.id;
    
    -- 获取
    
    SELECT  a.*
            ,GET_JSON_OBJECT(a.prop, '$.busSnapshotDto.clueLable') clue_label
            ,GET_JSON_OBJECT(
                GET_JSON_OBJECT(prop,'$.busSnapshotDto')
                ,'$.childBrithDay'
            ) AS childbrithday
            ,CASE    WHEN a.category_id = 205 THEN '月嫂'
                     WHEN a.category_id = 270 THEN '育儿嫂'
                     WHEN a.category_id = 212 THEN '保姆' 
                     ELSE '其他' 
             END AS category_name
    FROM    o_jz_clue_t_sale_clue a
    WHERE   dt = '${bdp.system.bizdate}'
    AND     delete_flag = 0
    AND     source_id != 100000680

    基础的GET_JSON_OBJECT函数运用:

    --odps sql 
    --********************************************************************--
    --author:jz_admin
    --create time:2019-11-11 14:27:08
    --********************************************************************--
    获取职员的职业。
    use jz_daojia; SELECT us.* , GET_JSON_OBJECT(us.additional_info,'$.jobTitle') as title_s FROM d_sys_user as us WHERE us.name LIKE "喜" LIMIT 10 ;
  • 相关阅读:
    堆排序
    jdk8 永久代变更
    oracle 区分大小写遇到的坑
    日志统计分析
    zookeeper 服务挂掉重启后,dubbo 服务是不会自动重新注册上的
    代码质量管理
    快速排序算法
    python flask 项目结构
    项目架构
    JS中的循环---最全的循环总结
  • 原文地址:https://www.cnblogs.com/sakura3/p/11833872.html
Copyright © 2020-2023  润新知