У Hive есть динамическая опорная функция

Есть ли у Hive функциональность динамическая? Я могу найти регулярные повороты (т.е. здесь), но они кажутся жестко закодированными сводами (все значения, известные во время выполнения) не динамическими (все значения, определенные во время выполнения).

Если он существует или у кого-то есть пользовательский код, который они могли бы поделиться, это было бы оценено.

Ответ 1

HiveQL не поддерживает динамический пивот, как вы описываете. Если вы хотите сделать что-то подобное, вам нужно использовать прямой динамический SQL и построить запрос в любом инструменте оркестровки, который вы используете.

Я не использовал его, но это, по-видимому, поддерживается в HPL/SQL с помощью ключевого слова EXEC. Это будет позволяют выполнять строки динамического SQL и обеспечивает более транзакционный уровень поверх традиционного улья. HPL/SQL включен в Hive 2.0. Если вы используете Hive 2.0, он должен быть доступен вам.

Лично я всегда делал этот тип построения запросов в Python, который я использую для управления всеми моими операциями.