文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Spark/Spark2x/ Spark Core企业级能力增强/ 配置Spark加载第三方jar包,用于注册UDF或者扩展SparkSQL
更新时间:2024-12-11 GMT+08:00

配置Spark加载第三方jar包,用于注册UDF或者扩展SparkSQL

本章节仅适用于MRS 3.5.0-LTS及之后版本。

配置场景

用户可能经常会自定义UDF或者使用一些自定义jar扩展Spark能力,针对这种第三方jar需要在Spark启动前指定好第三方类加载路径。

前提条件

准备好自定义jar包,并上传到客户端节点。本操作以“spark-test.jar”为例,上传到客户端节点“/tmp”目录下。

配置参数

  1. 以客户端安装用户,登录安装客户端的节点,执行如下命令:

    cd {客户端安装目录}

    source bigdata_env

    如果集群已启用Kerberos认证(安全模式),执行以下命令进行用户认证。集群未启用Kerberos认证(普通模式)无需执行用户认证。

    kinit 组件业务用户

  2. 执行如下命令上传jar包到HDFS中,例如上传到HDFS自定义路径“hdfs://hacluster/tmp/spark/JAR”

    hdfs dfs -put /tmp/spark-test.jar /tmp/spark/JAR/

  3. 在Spark客户端的“{客户端安装目录}/Spark/spark/conf/spark-defaults.conf”配置文件中进行设置,修改如下参数:

    参数

    参数值

    spark.jars

    Jar包路径,例如:hdfs://hacluster/tmp/spark/JAR/spark-test.jar

  4. 登录FusionInsight Manager系统,选择“集群 > 服务 > Spark > 配置 > 全部配置 >JDBCServer(角色) > 自定义”,在“custom”中添加如下参数,并重启JDBCServer服务。

    参数

    参数值

    spark.jars

    Jar包路径,例如:hdfs://hacluster/tmp/spark/JAR/spark-test.jar

  5. 验证jar包已经被加载,执行结果无“ClassNotFoundException”报错,则表示正常。