无法为Databricks作业构建具有多个主类的Spark应用程序

cx6n0qe3  于 8个月前  发布在  Apache
关注(0)|答案(1)|浏览(68)

我有一个spark应用程序,其中包含要在Azure数据砖上运行的多个spark作业。我想构建并将应用程序打包到一个fat jar中。应用程序能够成功编译。当我尝试打包(命令:sbt package)应用程序时,它给出错误 "[警告]检测到多个主类:运行'show discoveredMainClasses'以查看列表”。
如何构建应用程序jar(不指定任何主类),以便我可以将其上传到Databricks作业并在那里指定主类路径?

xfyts7mz

xfyts7mz1#

此消息只是一个警告(请参阅其中的[warn]),它不会阻止生成jar文件(正常或fat)。然后您可以将生成的jar上传到DBFS(或更新的Databricks版本的ADLS),并将Databricks job创建为Jar任务或Spark Submit任务。
如果sbt失败,并且不产生jar,那么你有一些插件可以强制警告错误。
还要注意,sbt package不会生成fat jar -它只为项目中的类生成jar。您需要使用sbt assembly(安装sbt-assembly plugin)来生成fat jar,但请确保将Spark和Delta依赖项标记为provided

相关问题