Можно ли транспонировать данные в улье? Как и в, строки становятся столбцами и столбцами являются строки? Если нет функции прямо вверх, есть ли способ сделать это за пару шагов?Есть ли способ транспонировать данные в 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 |
Я смотрел на другие связанные вопросы, и все они упоминаются с помощью бокового вида и взрывается , но есть ли способ выборочно выбирать столбцы для бокового (ly) view (ing) и explod (ing)?
Кроме того, какой может быть грубый процесс для достижения того, что я хотел бы сделать? Пожалуйста, помогите мне. Благодаря!
Редактировать: Я читал эту ссылку: https://cwiki.apache.org/Hive/languagemanual-lateralview.html, и это показывает мне половину того, чего я хочу достичь. Первый пример в ссылке - это в основном то, что я хотел бы, за исключением того, что я не хочу, чтобы строки повторялись и хотели, чтобы они были именами столбцов. Любые идеи о том, как получить данные в такой форме, чтобы, если я делаю explode
, это приведет к моему желаемому результату или другому пути, то есть explode
, сначала приведет к другому этапу, который затем приведет к моей желаемой выходной таблице , Еще раз спасибо!
Спасибо, Марк, за ответ. Да, у меня есть имена столбцов, и на самом деле вся таблица подготовлена заранее. Я просто хочу, чтобы он переносил столбцы 2-61 в новую таблицу, не теряя отношения/порядка. Я обязательно рассмотрю инструкции 'if' и' case'. Пожалуйста, дайте мне знать, если у вас есть дополнительные мысли. Благодаря! – CodingInCircles
Эй, Марк .. В ссылке, на которую вы указали, написано имя и поле. Как мы получаем доступ к этим свойствам в Hive? Есть идеи? Благодаря! – CodingInCircles
Я не думаю, что вы можете получить к ним доступ, они хранятся в метасторе db –