码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • hive行转列函数stack(int n, v_1, v_2, ..., v_k)


    用stack()函数时,参数中的键值对应按照一对列名和列值进行排使用列

    stack(int n, v_1, v_2, ..., v_k)

    功能:把k列数据转换成n行,k/n列,其中n必须是正整数,后面的v_1到v_k必须是元素,不能是列名。(不常用)

    1. 假设我们有一个名为employees的表,包含以下列:id, name, department, salary。
    2. CREATE TABLE employees (
    3. id INT,
    4. name STRING,
    5. department STRING,
    6. salary DOUBLE
    7. );
    8. INSERT INTO employees VALUES
    9. (1, 'John', 'HR', 5000),
    10. (2, 'Jane', 'Finance', 6000),
    11. (3, 'Mike', 'IT', 5500);
    12. ​
    13. 现在我们使用stack()函数将每个员工的信息转换为多列:
    14. SELECT col_index, col_value
    15. FROM (
    16. SELECT stack(4,
    17. 'id', id,
    18. 'name', name,
    19. 'department', department,
    20. 'salary', salary
    21. ) AS (col_index, col_value)
    22. FROM employees
    23. ) stacked_data;
    24. ​
    25. 在这个例子中,我们使用stack()函数将每个键值对转换为多行,其中参数4指定了输出结果的行数(4行)。每个键值对由一个列名和列值组成。
    26. 然后,我们将内部查询的结果作为表别名stacked_data的数据源,并选择col_index和col_value两个列作为最终输出结果。
    27. 输出结果如下所示:
    28. col_index col_value
    29. id 1
    30. name John
    31. department HR
    32. salary 5000.0
    33. id 2
    34. name Jane
    35. department Finance
    36. salary 6000.0
    37. id 3
    38. name Mike
    39. department IT
    40. salary 5500.0
    41. 每一行表示一个转换后的记录,其中col_index列表示每个记录的列名(键),col_value列表示每个记录的列值。

    参考文章

    hive表生成函数explode、stack、lateral view和json_tuple、parse_url_tuple示例_hive stack-CSDN博客

  • 相关阅读:
    抄写Linux源码(Day16:内存管理)
    selenium (自动化概念 && 测试环境配置)
    操作系统之进程
    网络安全--红队资源大合集
    无线产品欧盟CE认证RED指令测试要求解读
    跨境商城源码部署(多商户入驻,一键铺货,快速部署)
    std::packaged_task 源码分析
    前端框架BootStrap
    c语言初阶测评
    Go 并发编程
  • 原文地址:https://blog.csdn.net/qq_52128187/article/details/136742544
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号