在 zeppelinUI (spark-submit) 中调用 jar 的 main 方法

Posted

技术标签:

【中文标题】在 zeppelinUI (spark-submit) 中调用 jar 的 main 方法【英文标题】:Invoke a main method of a jar in zeppelinUI (spark-submit) 【发布时间】:2017-07-28 14:55:00 【问题描述】:

我在“myJar.jar”中有一个主方法“myMain”(我在 Zeppelin UI 的 spark-interpreter 中加载了这个依赖项)。我已经在 spark 解释器中设置了所有其他 spark 配置。

现在我想提交一个带有 Zeppelin UI 中 myMain 类所需参数的 spark-submit 作业。

类似的东西(在 zeppelin UI 中)(假设我的类采用 -i,-o,-c 参数): --class myMain myJar.jar -i 输入 -o 输出 -c configFile

【问题讨论】:

嗨,我刚刚阅读了spark interpreter documentation,我找不到在 UI 中提交 spark jar 的方法。可以使用conf/zeppelin-env.sh设置SPARK_SUBMIT_OPTIONS 是的。我可以在 SPARK_SUBMIT_OPTIONS 中设置“--class myMain myJar.jar -i input -o output -c configFile”。但是如何从 UI 启动这个 spark-submit 工作呢? 如果您运行 spark 解释器,Zeppelin 将执行您的 spark-submit 作业。例如,%spark println(1) 准确来说,如果你运行 spark 解释器没有 spark submit 选项,Zeppelin 将执行RemoteInterpreterServer。但是如果你在zeppelin-env.sh中设置SPARK_SUBMIT_OPTIONS,Zeppelin会启动SparkSubmit进程。您可以通过在终端中执行jps 命令来检查。 【参考方案1】:

我刚刚阅读了spark interpreter documentation,但我找不到在 UI 中提交 spark jar 的方法。

您可以在conf/zeppelin-env.sh 中使用SPARK_SUBMIT_OPTIONS 来代替

更多详情

如果您在没有 spark 提交选项的情况下运行 spark 解释器,Zeppelin 将执行 RemoteInterpreterServer,其中包括本地 spark。 但是如果你在zeppelin-env.sh中设置SPARK_SUBMIT_OPTIONS,Zeppelin会启动SparkSubmit进程。

您可以通过在终端中执行jps 命令来检查。

99212 RemoteInterpreterServer
96926 ZeppelinServer

【讨论】:

以上是关于在 zeppelinUI (spark-submit) 中调用 jar 的 main 方法的主要内容,如果未能解决你的问题,请参考以下文章

实时即未来,大数据项目车联网之车辆数据统计意义分析

实时即未来,车联网项目之phoenix on hbase 即席查询

实时即未来,车联网项目之phoenix on hbase 即席查询

实时即未来,车联网项目之phoenix on hbase 即席查询

如何通过编辑 conf/interpreter.json 文件向 Zeppelin 添加新的 jdbc 解释器?

实时即未来,大数据项目车联网之车联网之车辆数据统计意义分析十三