Hadoop 跨通用UDF配置单元保存状态

Hadoop 跨通用UDF配置单元保存状态,hadoop,hive,user-defined-functions,Hadoop,Hive,User Defined Functions,我有一个场景,在这个场景中,我将逐行传递给配置单元UDF,并且需要对每一行执行一些验证 这些验证是使用一些按定义的元数据执行的,我需要从外部资源加载这些元数据 我的问题是,我只能在init中加载此元数据一次并将其应用于所有行。加载时,每行的每次元数据都会大大降低性能 除非该元数据发生很大变化,否则我认为最好的办法是将该元数据保存在HDFS中。在构造函数中读取它,然后你就不必读取它了,除非映射程序启动。元数据有多大?元数据非常大,可以跨越GB。因为它们是包含数百万条记录的域查找表。是的,存储在HD

我有一个场景,在这个场景中,我将逐行传递给配置单元UDF,并且需要对每一行执行一些验证

这些验证是使用一些按定义的元数据执行的,我需要从外部资源加载这些元数据


我的问题是,我只能在init中加载此元数据一次并将其应用于所有行。加载时,每行的每次元数据都会大大降低性能

除非该元数据发生很大变化,否则我认为最好的办法是将该元数据保存在HDFS中。在构造函数中读取它,然后你就不必读取它了,除非映射程序启动。

元数据有多大?元数据非常大,可以跨越GB。因为它们是包含数百万条记录的域查找表。是的,存储在HDFS中是有意义的,而且加载速度也会更快。我们有sql表中的数据,并计划通过UDF调用存储的过程。我还发现了另一种方法,您可以创建静态变量或也可以完成任务的单例类。