在hive上运行一个简单的选择查询时我得到了这个奇怪的错误
java.lang.IllegalArgumentException: Wrong FS: file://usr/lib/hive/lib/CustomUDFint.jar, expected: file:///
at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:410)
at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:56)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:379)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:207)
在谷歌上搜索我发现所有链接都提到表位置的hive元数据指向了一个错误的位置。
为什么会这样?以及我如何解决它?
谢谢,
答案 0 :(得分:2)
请确保HADOOP_HOME设置为正确值?您使用的是哪个Hadoop版本?尝试通过Hive shell设置NN的位置,看看是否有帮助:
hive -hiveconf fs.default.name=localhost
根据您的配置更改 localhost 。
答案 1 :(得分:1)
刚刚遇到同样的问题,在我的pom.xml中我需要添加依赖
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
</dependency>