У меня есть таблица со столбцами, которые могут иметь два возможных варианта данных 1 или 0 в качестве значения поля. Как в примере ниже:
question |John |Ann |Bob |Melisa
first |1 |0 |1 |0
second |0 |0 |1 |0
third |1 |1 |1 |0
fourth |1 |0 |1 |1
В результате я хочу получить представление, которое будет принимать указанную пользователем переменную куста, например: set name = "Ann"
, и в результате для столбца, равного переменной, будет «согласовано» или «не согласовано». И вывод из вида должен выглядеть так:
question |Ann
first |disagreed
second |disagreed
third |agreed
fought |disagreed
Итак, я знаю, что могу получить доступ к переменным Hive с помощью метода конфигурации GenericUDF, например:
public void configure(MapredContext mapredContext) {
String name = mapredContext.getJobConf().get("name");
}
В настоящее время я передаю все поля в GenericUDf в виде массива (поскольку количество столбцов в таблице может увеличиться).
SELECT question, GenericUDF(array(*));
Есть ли способ доступа к схеме таблицы из GenericUDF или, возможно, можно передать ее в GUDF в качестве параметра?