You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Zeppelin中运行自定义Scala Spark作业并添加依赖JAR?

我来帮你梳理下在Zeppelin中配置所需依赖并运行你的Spark作业的具体方法,有几种常见的方式,你可以根据场景选择:

1. 全局配置Spark Interpreter(所有Notebook通用)

如果希望所有Zeppelin Notebook都能使用这些依赖,可以通过Interpreter全局配置来设置:

  • 打开Zeppelin主页,点击右上角的Interpreter选项
  • 在列表中找到spark interpreter,点击右侧的Edit按钮
  • 切换到Dependencies区域:
    • 添加Maven仓库依赖:在Artifact输入框中填入你之前spark-submit里的--packages内容,多个用逗号分隔:
      com.databricks:spark-redshift_2.11:3.0.0-preview1,com.databricks:spark-avro_2.11:3.2.0
      
    • 添加本地JAR包:先把从S3下载的RedshiftJDBC42-1.2.10.1009.jar和CustomJar.jar放到Zeppelin服务器可访问的目录(比如/opt/zeppelin/custom-jars/),然后在Artifact里添加它们的绝对路径(前缀用file:):
      file:/opt/zeppelin/custom-jars/RedshiftJDBC42-1.2.10.1009.jar,file:/opt/zeppelin/custom-jars/CustomJar.jar
      
  • 配置完成后点击Save,然后重启Spark interpreter(点击Interpreter列表中spark项旁的Restart按钮)
2. 单个Notebook内配置依赖(仅当前Notebook生效)

如果只需要在特定Notebook中使用这些依赖,可以用Zeppelin的%dep魔法命令:
在Notebook的第一个段落输入以下内容并运行:

%dep
// 加载Maven仓库的包
z.load("com.databricks:spark-redshift_2.11:3.0.0-preview1")
z.load("com.databricks:spark-avro_2.11:3.2.0")

// 加载本地JAR(替换成你的实际路径)
z.load("file:/path/to/your/RedshiftJDBC42-1.2.10.1009.jar")
z.load("file:/path/to/your/CustomJar.jar")

// 如果JAR在S3上,也可以直接加载(前提Zeppelin有权限访问该桶)
// z.load("s3://jars/RedshiftJDBC42-1.2.10.1009.jar")
// z.load("s3://jars/CustomJar.jar")

等待依赖加载完成后,后续段落就能正常使用这些类了。

3. 运行你的CustomObject作业

依赖配置好后,在Zeppelin的Scala/Spark段落中直接调用你的类即可:

// 导入自定义类
import com.activities.CustomObject

// 如果你的CustomObject是带main方法的主类,直接调用main
CustomObject.main(Array())

// 如果是工具类,直接调用对应的业务方法即可
// CustomObject.yourBusinessMethod()
一些注意事项
  • 确保Zeppelin的Spark interpreter使用的Scala版本和你的JAR包一致(你这里是2.11,别选错版本)
  • 如果遇到依赖冲突,可以在Artifact中添加排除规则,比如:com.databricks:spark-redshift_2.11:3.0.0-preview1:exclude=org.apache.hadoop:hadoop-client
  • 如果Zeppelin集群访问S3需要权限,要提前配置好IAM角色或访问密钥

内容的提问来源于stack exchange,提问作者Dark Shadows

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:03:47