hadoop - 在不使用自定义UDF或左联接的情况下如何在Hive中进行关键操作?

标签 hadoop hive pivot-table hiveql hortonworks-data-platform

样本输入:

PARTY      |TYPE | TIMESTAMP
-------------------------------------
135761103  |AA   |2017-04-24 11:18:46.233  
135761103  |BB   |2017-04-24 11:19:18.436

所需的输出:
PARTY |AA_TIMESTAMP|BB_TIMESTAMP   
--------------------------------
135761103  |2017-04-24 11:18:46.233 |2017-04-24 11:19:18.436

最佳答案

您可以使用CASEGROUP BY组合来完成此操作。就像是:

SELECT
    PARTY,
    max(CASE WHEN TYPE = 'AA' THEN TIMESTAMP END) AS AA_TIMESTAMP,
    max(CASE WHEN TYPE = 'BB' THEN TIMESTAMP END) AS BB_TIMESTAMP
FROM 
    MY_TAB
GROUP BY
    PARTY

关于hadoop - 在不使用自定义UDF或左联接的情况下如何在Hive中进行关键操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45891742/

相关文章:

sql - hive SQL : Both left and right aliases encountered in JOIN

sql - 在 sql (hive) 中声明变量

mysql - SQL - 将行转换为列

java - 访问hadoop文件系统中的文件

hadoop - 运行Hadoop 2.7.1时的文件权限问题

apache - 探索 Hadoop 代码

hadoop - 如何将作业移动到Hadoop中的另一个队列

hadoop - 为 parquet 文件生成元数据

mysql - 如何在一列中打印多行数据?

sql-server - 如何使用每行的总计列来透视查询结果