SparkSql使用Hive中注册的UDF函数报类找不到问题解决

 一、概述

  通过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;

原文地址:https://www.cnblogs.com/chhyan-dream/p/15098748.html