一、概述
通過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;