hive sql 行列轉換


-- 對一張大表的每一行,后面加多種label值
-- 其實就是笛卡爾積,舉例
-- SELECT * FROM dev.dev_jiadian_user_yuge_temp 
-- CROSS JOIN
-- (
--     SELECT 0 AS label
--     UNION ALL
--     SELECT 1 AS label
--     UNION ALL
--     SELECT 2 AS label
-- )t;

-- 方法二
-- 使用數組,然后進行轉置操作
-- 注意k是flag別名,必不可少

SELECT *
FROM
(
SELECT *,
       Array(0,1,2) AS flag
FROM
    dev.dev_jiadian_user_yuge_temp
 )t
lateral view  explode(flag)k AS label
;

-- 

  

參考:https://blog.csdn.net/wangguohe/article/details/79386917

         https://blog.csdn.net/dreamingfish2011/article/details/51250641

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM