如何在bolding/hadoop作业中运行slimjar而不在libjars中编写完整的类路径

czq61nw1  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(334)

有没有一种方法可以运行一个非常重要的作业,它需要类路径,而不必使用libjar并以逗号分隔的方式显式地编写每个jar。
我想把我所有的jar放在一个lib中,而不是只写-libjars=./lib/*而不是所有的jar。
有经典的方法吗??
使用烫伤版烫伤核心2.10 0.8.5
hadoop版本2.0.0-cdh4.5.0
p、 我使用maven来打包jar和lib

5ssjco0h

5ssjco0h1#

您应该创建一个“fatjar”,其中既包含用libjar添加的依赖项,也包含主类。这里可以看到一个具体的sbt项目示例,它在一个jar中具有烫伤和依赖性。在maven中,您应该添加“assemblyplugin”并使用 mvn assembly:first (如果我记得的话)。如果要使用cloudera jar中已经存在的其他jar(例如,不同版本的jar),那么上述两种方法都不容易,因为您会有依赖关系。我几年前写过类似的东西,你可以试试看,尽管它可能已经过时了。

相关问题