一、概述
通过Hive注册的永久类型的UDF函数在SparkSQL也可以使用,hive和sparksql通过类型映射对hive的udf函数与sparksql的udf转换进行了映射。
二、sparkSQL使用hive中UDF函数报错类找不到解决
2.1 Sparksql使用hive的UDF函数报错类找不到
当sparksql使用hive中的UDF函数时,sparksql也会加载一份udf函数的代码到executor和driver中;因此,需要指定UDF的jar加载目录,不然会报错:找不到UDF类的错误。
2.2 解决方法
将jar包拷贝到一个指定目录,比如:/home/udf,然后指定三个参数:
spark.jars=/home/udf;
spark.driver.extraClassPath=/home/udf;
spark.executor.extraClassPath=/home/udf;