【发布时间】:2014-09-23 08:00:32
【问题描述】:
我想计算 Hive 中几列的基数。
比如表格是这样的
------------------------------------------
| A | B | C | D |
------------------------------------------
| Windows | C:\Users\aa | 0 | 1234 |
------------------------------------------
| Windows | D:\Videos | 1 | 2345 |
------------------------------------------
| Linux | /usr/local | 0 | 1234 |
------------------------------------------
| OS X | /Users/aa | 0 | 5678 |
------------------------------------------
A、C、D 列的基数分别为 3、2、3。
天真的解决方案是在每一列上运行SELECT DISTINCT。然而,这似乎是一种可怕的方式。那么是否可以通过只扫描一次表来计算这些值?
【问题讨论】: