自定义 Hive UDF 中的映射列表

List of maps in custom Hive UDF

我正在编写自定义 UDF 并期待一个 ARRAY<MAP<STRING, STRING>> 参数。在我的 evaluate 方法中,我会做

@Override
public Object evaluate(DeferredObject[] args) throws HiveException {
    List<?> elements = listObjectInspector.getList(args[0].get());

问题是,elements 现在是一个有效的 Java 映射列表,还是我仍然需要为 elements 中的每个元素调用 mapObjectInspector.getMap()

答案是肯定的。首先使用 ListObjectInspector 然后对每个元素调用 MapObjectInspector .