hadoop MapReduce程序中解决第三方jar包问题

本文介绍了在MapReduce项目中遇到第三方jar包缺失导致的异常问题及其解决方案。错误表现为`Error: java.lang.ClassNotFoundException`。提出了两种解决办法:1.将所有依赖打包进大jar;2.创建lib目录存放第三方jar,Hadoop会自动加载lib下的依赖。推荐使用第二种简洁且方便升级的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中碰到了MapReduce任务中需要引入第三方jar包的问题;

   一、现象

            报一堆类似异常【Error: java.lang.ClassNotFoundException:***】。

   二、解决方案

方案1:把所有的第三方jar和自己的class打成一个大的jar包,这种方案显然笨拙,而且更新升级比较繁琐。 

方案2: 
在你的project里面建立一个lib文件夹,然后把所有的第三方jar包放到里面去,hadoop会自动加载lib依赖里面的jar。 (针对第三方的jama.Matrix)

http://www.blowide.com/2010/04/including-external-jars-in-a-hadoop-job/ 

注意最后一段: 
Luckily, I bumped into a solution suggested Doug Cutting as an answer to someone who had a similar predicament. The solution was to create a “lib” folder in your project and copy all the external jars into this folder. According to Doug, Hadoop will look for third-party jars in this folder. It works great! 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值