使用MapReduce从HBase中读取数据存入HDFS路径问题

        使用MR读取HBases数据进行计算,然后输出到HDFS,在输出到HDFS时遇到了路径问题,让我纠结了好久,今天终于理解解决了,记录一下,希望对遇到同样问题的人有所帮助。

       原始代码如下,出现了下面的异常,开始我百思不解,HDFS的路径怎么会和window本地路径有冲突呢?怎么会读取的是本地的路径?最后从网上查找资料和HBase源码发现HBSAE的TableMapReduceUtil.initTableMapperJob方法默认的路径是本地,所以只要把它改一下就可以了,解决方法在最下面,只需要将原来的true改为false即可。

public class Origin_job {
	
	public static void main(String[] args) throws ClassNotFoundException, InterruptedException, IOException {
	
		long starttime = System.currentTimeMillis();
		String tablename = "test";
		Path outpath = new Path("/user/sky/output/");
		
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum","node1");
		conf.set("hbase.zookeeper.property.clientPort", "2181");
		conf.set("dfs.permissions.enabled", "false");
		conf.set("fs.defaultFS", "hdfs://node1:8020");
		conf.set("yarn.resourcemanager.hostname", "node1");
		FileSystem fs =FileSystem.get(conf);
		
		Job job =Job.getInstance(conf);//实例化一个Job
		job.setJobName("ReadHbase");//Job任务名称
		job.setJarByCla
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值