hadoop - Hive:无法获得不同类别的总和

标签 hadoop hive hiveql

从 Hive 中,我试图从下面的简单表格中获取结果

custername Prjtid Hours  Billable_Status

ABC         AB123  10     Billable

ABC         AB123  20     Non-Billable

ABC         AC123  10     Billable

ABC         AB123  30     Billable

PQR         PQ123  20     Billable

PQR         PQ123  30     Billable

PQR         PQ123  20     Non-Billable

现在我想显示,

Custername、Prjtid、(可计费总数)、(不可计费总数)。

示例:

ABC、AB123、40、20

PQR、PQ123、50、20

我可以获取可计费或不可计费的信息,但不能同时获取。

有人可以建议如何继续这种情况吗?

问候,

拉吉

最佳答案

分组依据应该满足您的需要:

SELECT Custername, Prjtid, 
SUM(CASE WHEN Billable_Status = 'Billable' THEN Hours ELSE 0 END ),
SUM(CASE WHEN Billable_Status = 'Non-Billable' THEN Hours ELSE 0 END )
FROM table
GROUP BY Custername,Prjtid;

关于hadoop - Hive:无法获得不同类别的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15614156/

相关文章:

hadoop - Flume 1.6.0假脱机目录源,标题带有时间戳

sql-server - hive "\n"记录中的值

java - 无法摆脱java.lang.ClassNotFoundException:类org.apache.hadoop.hive.ql.io.RCFileInputFormat

database - 使用不同长度的行在 Hive 中加载 CSV 文件

hadoop - 无法在 Hive 中创建表

hadoop - Hive 中分析查询的限制

apache-spark - Spark 中 bigint 的兼容数据类型是什么?我们如何将 bigint 转换为 spark 兼容的数据类型?

c++ - Hadoop管道字数统计:任务ID:尝试状态:FAILED AttemptID:尝试600秒后超时

hadoop - 使用内存 channel 增加水槽中的文件大小

hadoop - Hive:合并配置设置不起作用