如何规范化配置单元中的列?
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
我正在尝试规范化配置单元中的列,这意味着我必须使列中的每个值除以该列中的最大值。例如:我有一个 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