阿里云爆款
首页 » NoSQL » BulkLoad Can not create a path from a null string

BulkLoad Can not create a path from a null string

原文 http://blog.csdn.net/weixin_39588015/article/details/79050087

2018-01-14 02:00:59阅读(363)

阿里云爆款
问题现象

高于1.0的HBase进行BulkLoad抛出异常:

java.lang.IllegalArgumentException: Can not create a path from a null string
    at org.apache.hadoop.fs.Path.checkPathArg(Path.java:122)
    at org.apache.hadoop.fs.Path.<init>(Path.java:134)
    at org.apache.hadoop.fs.Path.<init>(Path.java:88)
    at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configurePartitioner(HFileOutputFormat2.java:591)
    at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(HFileOutputFormat2.java:440)
    at org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(HFileOutputFormat2.java:405)
    ...
问题分析

当前HFileOutputFormat2中的代码:

Path partitionsPath = new Path(conf.get("hbase.fs.tmp.dir"), "partitions_" + UUID.randomUUID());

当配置项hbase.fs.tmp.dir不存在时,conf.get()将返回null,从而导致上述异常。

问题解决方案

在代码中或配置文件中添加配置项hbase.fs.tmp.dir。

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹