文档首页/
    
      
      MapReduce服务 MRS/
      
      
        
        
        组件操作指南(LTS版)/
        
        
        使用Spark/Spark2x/
        
        
        Spark Core企业级能力增强/
        
      
      配置Spark加载第三方jar包,用于注册UDF或者扩展SparkSQL
    
  
  
    
        更新时间:2025-07-14 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
配置Spark加载第三方jar包,用于注册UDF或者扩展SparkSQL
操作场景
用户可能经常会自定义UDF或者使用一些自定义jar扩展Spark能力,针对这种第三方jar需要在Spark启动前指定好第三方类加载路径。
约束与限制
本章节仅适用于MRS 3.5.0-LTS及之后版本。
前提条件
准备好自定义jar包,并上传到客户端节点。本操作以“spark-test.jar”为例,上传到客户端节点“/tmp”目录下。
配置参数
- 安装Spark客户端。
    
    
详细操作请参考安装MRS客户端。
 - 以客户端安装用户,登录安装客户端的节点,执行如下命令:
    
    
进入客户端安装目录
cd {客户端安装目录}配置环境变量
source bigdata_env
如果集群已启用Kerberos认证(安全模式),执行以下命令进行用户认证。集群未启用Kerberos认证(普通模式)无需执行用户认证。
kinit 组件业务用户
 - 执行如下命令上传jar包到HDFS中,例如上传到HDFS自定义路径“hdfs://hacluster/tmp/spark/JAR”
    
    
hdfs dfs -put /tmp/spark-test.jar /tmp/spark/JAR/
 - 在Spark客户端的“{客户端安装目录}/Spark/spark/conf/spark-defaults.conf”配置文件中进行设置,修改如下参数:
    
    
参数
参数值
spark.jars
Jar包路径,例如:hdfs://hacluster/tmp/spark/JAR/spark-test.jar
 - 登录FusionInsight Manager系统,选择“集群 > 服务 > Spark > 配置 > 全部配置 >JDBCServer(角色) > 自定义”,在“custom”中添加如下参数,并重启JDBCServer服务。
    
    
参数
参数值
spark.jars
Jar包路径,例如:hdfs://hacluster/tmp/spark/JAR/spark-test.jar

 - 验证jar包已经被加载,执行结果无“ClassNotFoundException”报错,则表示正常。
 
   父主题: Spark Core企业级能力增强