Отдельный для определенного столбца в Hive

Я запускаю Hive 071. У меня есть таблица с несколькими строками с одинаковым значением столбца, например.

| x | y |


| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 2 |
| 3 | 2 |
| 3 | 1 |

Я хочу, чтобы столбец x был уникальным и удалял строки с одинаковым значением x, например.

| x | y |


| 1 | 2 |
| 2 | 2 |
| 3 | 2 |

or

| x | y |


| 1 | 4 |
| 2 | 2 |
| 3 | 1 |

оба хороши как отдельные работы только на всей rs в улье, я не мог найти способ сделать это

помогите пожалуйста тк


person Tomer    schedule 13.09.2011    source источник


Ответы (1)


Некоторые варианты:

1) Это даст вам максимальное значение y для каждого значения x

select x, max(y) from table1 group by x

В равной степени вы можете использовать avg() или min()

2) ИЛИ вы можете собрать все значения y в список:

select x, collect_set(y) from table1 group by x

Это даст вам:

x|y
1|2,3,4
2|2
3|1,2
person Matthew Rathbone    schedule 18.11.2011