如何规范化配置单元中的列?

how to normalize a column in hive?

我正在尝试规范化配置单元中的列,这意味着我必须使列中的每个值除以该列中的最大值。例如:我有一个 table X:

A   B   C   D
1  0.1  3  0.2
2  0.2  4  0.5
3  0.3  5  0.2

我想规范化 C 列,请求的 table Y 是:

A   B    C    D
1  0.1  0.6  0.2
2  0.2  0.8  0.5
3  0.3   1   0.2

我不知道如何写SQL来表示整列的最大值

max window 函数

select a
      ,b
      ,c / max(c) over () as c
      ,d

from x

+---+-----+-----+-----+
| a |  b  |  c  |  d  |
+---+-----+-----+-----+
| 1 | 0.1 | 0.6 | 0.2 |
| 2 | 0.2 | 0.8 | 0.5 |
| 3 | 0.3 | 1   | 0.2 |
+---+-----+-----+-----+

试试这个

select a,b, c/(Select MXA(C) 来自 X),d 来自 X