Некоторые преимущества использования GenericUDF перед UDF в Hive:
- Более высокая производительность. dev.to Это связано с тем, что нет рефлексивного вызова, аргументы анализируются лениво, а Hive передаёт аргументы как общие типы объектов, поэтому нет необходимости создавать и десериализовывать объект, когда это не нужно. dev.to
- Возможность работать со сложными типами. dev.to Например, со структурами и вложенными массивами. dev.to
- Возможность принимать переменное количество параметров. dev.to
- Более простая обработка ошибок. bigdatamusings.wordpress.com С помощью GenericUDF можно проверять количество входных параметров и тип данных, а также правильно обрабатывать ошибки проверок. bigdatamusings.wordpress.com
Однако написание GenericUDF немного сложнее, так как нужно реализовать три функции, а не одну, как в случае с простыми UDF. dev.to