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