Spark sbt-assembly 打包
来源:互联网 发布:vod视频提取软件 编辑:程序博客网 时间:2024/03/29 06:45
因为要用spark2.0,而集群上cdh5.7.1的spark版本是1.6的,在单独使用spark2.0的时候出现了hbase包找不到的问题,因为spark-submit –jars属性引的包太多,就干脆直接用sbt将相关的jar包打成fat-jar,期间遇到了一些问题,在此记录一下。
开发环境使用的是idea,装了sbt插件后以为就可以直接在terminal命令窗口中直接运行sbt了,但实际上会告诉你sbt是未知的命令。
解决办法如下:先去sbt官网下了windows(.msi)版的sbt,下载地址。
下载完之后在path中配置环境变量:
;C:\Program Files (x86)\sbt\bin
在
\.sbt\0.13
目录下创建文件夹plugins
,然后创建plugins.sbt
文件,用atom编辑,添加如下代码,添加sbt-assembly插件:resolvers += "bintray-sbt-plugins" at "http://dl.bintray.com/sbt/sbt-plugin-releases"
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")打开idea下面的Terminal窗口,并键入sbt进入sbt shell
进入之后,可以看到先加载全局的sbt配置文件,然后加载你的项目定义中的sbt配置文件
在sbt-shell中键入assembly进行fat-jar打包,期间遇到了deduplicatded错误,是因为存在jar包冲突导致的,可以用sbt的merge方案解决。在项目的
build.sbt
文件中添加如下代码,这个要根据不同项目产生的不同的重复问题进行修改。// 解决jar包冲突(deduplicate)问题
assemblyMergeStrategy in assembly := {
case PathList("javax", "servlet", xs@_*) => MergeStrategy.last
case PathList("javax", "activation", xs@_*) => MergeStrategy.last
case PathList("org", "apache", xs@_*) => MergeStrategy.last
case PathList("org", "w3c", xs@_*) => MergeStrategy.last
case PathList("com", "google", xs@_*) => MergeStrategy.last
case PathList("com", "codahale", xs@_*) => MergeStrategy.last
case PathList(ps@_*) if ps.last endsWith ".html" => MergeStrategy.first
case "log4j.properties" => MergeStrategy.last
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}执行assembly之后结果如下
如果修改了项目中
build.sbt
文件,要重新打包,记得先关闭Terminal窗口,然后打开新的Terminal窗口重新执行sbt,以确保sbt更新配置信息,否则打包执行的还是未修改之前build.sbt
的配置信息
- Spark sbt-assembly 打包
- ./sbt/sbt assembly 编译spark报错
- 使用sbt assembly构建Spark项目
- sbt/sbt assembly 编译spark源码出错问题解决方法
- spark编译 ./sbt/sbt assembly Error occurred during initialization of VM
- Sbt assembly使用
- sbt打包的jar包提交到spark
- Spark SQL程序SBT编译打包优秀博文总结
- sbt的安装以及用sbt编译打包scala编写的spark程序
- 了解、安装sbt,使用sbt(console、IDEA)以及IDEA中打包spark的jar包
- sbt-assembly 发布 Scala 项目
- sbt-assembly 发布 Scala 项目
- 子雨大数据之Spark入门教程---Spark的安装和使用sbt、maven打包代码 2.1
- sbt编译spark源码
- Spark之sbt安装
- SBT命令打包流程
- SBT 配置依赖打包
- 在standalone-cluster模式上运行spark应用程序(用sbt打包)
- Jmeter查看结果树Unicode编码转中文方法
- 93. Restore IP Addresses
- 一切从今天开始
- 将获取的html源代码格式化输出
- PHP经典面试题目汇总
- Spark sbt-assembly 打包
- 微信小程序-文字超出限制如何在末尾加省略号
- CES展会的技术亮点奠定2017年各个行业的基调
- python基础学习笔记(个人学习时记录的笔记,不全的地方请大家指正)
- 第二次卡
- 欢迎使用CSDN-markdown编辑器
- 二叉树面试题
- 【c++】前言
- 96. Unique Binary Search Trees