Есть ли способ транспонировать данные в Hive?
Можно ли транспонировать данные в Hive? Как в, строки становятся столбцами, а столбцы строки? Если нет функции прямо вверх, есть ли способ сделать это в пару шагов?
У меня есть такая таблица:
| ID | Names | Proc1 | Proc2 | Proc3 |
| 1 | A1 | x | b | f |
| 2 | B1 | y | c | g |
| 3 | C1 | z | d | h |
| 4 | D1 | a | e | i |
Я хочу, чтобы это было так:
| A1 | B1 | C1 | D1 |
| x | y | z | a |
| b | c | d | e |
| f | g | h | i |
Я искал другие связанные вопросы, и все они упоминают об использовании боковых видов и разнесении, но есть ли способ выборочно выбирать столбцы для бокового (однократного) обзора (в) и разнесенного (в)?
Кроме того, что может быть грубым процессом для достижения того, что я хотел бы сделать? Пожалуйста, помогите мне. Спасибо!
редактироватьЯ читал эту ссылку:https://cwiki.apache.org/Hive/languagemanual-lateralview.html и это показывает мне половину того, чего я хочу достичь. Первый пример в ссылке - это то, что я хотел бы, за исключением того, что я не хочу, чтобы строки повторялись, и хотел, чтобы они были именами столбцов. Любые идеи о том, как получить данные в такой форме, что если я сделаюexplode
, это приведет к желаемому результату, или другим способом, то естьexplode
сначала привести к другому шагу, который затем приведет к моей желаемой выходной таблице. Еще раз спасибо!