Hadoop 如何访问表';来自泛型UDF的s模式

Hadoop 如何访问表';来自泛型UDF的s模式,hadoop,hive,user-defined-functions,Hadoop,Hive,User Defined Functions,我有一个表,其中的列可以有两个可能的数据变量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 因此,我希望有一个

我有一个表,其中的列可以有两个可能的数据变量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
因此,我知道我可以通过GenericUDF的配置方法访问配置单元变量,如:

public void configure(MapredContext mapredContext) {
  String name = mapredContext.getJobConf().get("name");
}
目前,我将所有字段作为数组传递给GenericUDf(因为表中的列数可能会增加)

是否有一种方法可以从GenericUDF访问表模式,或者可以将其作为参数传递给GUDF

SELECT question, GenericUDF(array(*));