Hadoop 配置单元UDF全局变量
有人能告诉我在Hive UDF中是否有全局变量的方法吗 我正试图找出下面问题的解决办法。 场景如下。我有三种类型的文件Hadoop 配置单元UDF全局变量,hadoop,hive,hive-udf,Hadoop,Hive,Hive Udf,有人能告诉我在Hive UDF中是否有全局变量的方法吗 我正试图找出下面问题的解决办法。 场景如下。我有三种类型的文件 一个包含4列的文件(假设列名为A、B、C和D) 具有两列(B、D)的文件 具有两列(B、C)的文件 我将把所有三个文件转换成标准格式(文件1格式-4列输出)。 要转换成标准格式,我需要引用文件第一行中的头记录。因此,如果我的输入文件是256MB,并且调用了多个映射程序,是否有任何方法使每个映射程序都可以引用一个全局变量(头信息)。 简而言之,有没有一种方法可以为所有调用my H
简而言之,有没有一种方法可以为所有调用my Hive UDF的映射器提供一个公共变量
注意:UDF将在单列表上运行,方法是读取完整的行,然后将其写入下一个表HDFS位置。是的,有一种方法可以做到这一点,我自己也做过 最好的方法是在开始map reduce作业之前通过读取文件来查找信息,然后可以为映射器和还原器设置要使用的配置值 例如,在主方法中启动作业之前,您可以执行以下操作(伪scala):
// assume c = Configuration()
val headerInformationJson = getHeaderInformation(filePath1)
c.set("headerInfo", headerInformationJson)
然后,在映射器的initialize方法中,您可以读取以下内容:
val conf = context.getConfiguration()
val headerInfo = conf.get("headerInfo");
对于配置单元UDF,您可以使用UDF提供的挂钩来执行类似的操作此方法在
configure()
中使用了什么?