Spark SQL 新增第三方依賴包
阿新 • • 發佈:2020-12-09
最近在使用spark sql 執行hive語句時碰到異常資訊如下:
Class org.openx.data.jsonserde.JsonSerDe not found Exception
開始以為時hive環境有問題,把sql語句拿到hive環境單獨跑沒有問題,排除掉這項。若有問題,參考解決方案。
使用spark-submit --jar 提交掉時候已經引入了json-serde-1.3-jar-with-dependencies.jar包,Class.forName("org.openx.data.jsonserde.JsonSerDe")也能找到。
但是執行sql掉時候還是報ClassNotFound exception。想到hive 提交UDF依賴報時使用了add jar命令,於是在spark sql中執行命令:
sparkSession.sql("add jar hdfs://nameservice1/application/lib/spark2/json-serde-1.3-jar-with-dependencies.jar")
解決問題。
總結:Spark SQL 缺少依賴包時,使用命令 “add jar *.jar”來新增。
參考文章: