Hive 查询 - FAILED SemanticException 无效路径
Posted
技术标签:
【中文标题】Hive 查询 - FAILED SemanticException 无效路径【英文标题】:Hive query - FAILED SemanticException invalid path 【发布时间】:2016-12-01 05:09:43 【问题描述】:这是我的问题:
我刚刚将最初的 Azure 订阅转换为即用即付订阅(最初是 30 天的试用期),在我用完第一组免费积分后它被关闭。现在一切都再次正常工作 - 我仍然拥有相同的旧资源组,我在该资源组下建立了一个新集群。包含我的 CSV 数据的文件仍然存在于我上次创建的容器中(不是默认容器,而是之前建立的容器)。我唯一需要重新创建的就是加载数据所需的 Hive 表。还有我能够再次建立的那张桌子。但是,当我尝试运行 Hive 查询以将数据从 CSV 文件实际加载到 Hive 表中时,如下所示...
LOAD DATA INPATH '/container1/HdiSamples/user/data-file.csv' OVERWRITE INTO TABLE default.hive_table;
...我不断收到“失败”作为错误消息(我使用 VS 的 Data Lake 工具来上传 blob 并运行查询)。在特定错误日志中,以“FAILED: SemanticException etc.”开头的行每次都脱颖而出...(尽管文件上传使用不同的位置)。
16/12/01 04:16:25 警告 conf.HiveConf:名为 hive.log.dir 的 HiveConf 不存在 失败:SemanticException Line 1:17 Invalid path ''/container1/HdiSamples/user/data-file.csv'':没有文件匹配路径 wasb://container1@resourcegroup.blob.core.windows.net/container1/HdiSamples/用户/数据文件.csv
这是我的问题:
谁能告诉我为什么它没有在/从文件实际所在的位置找到并加载文件...?
我只是不明白这个错误的原因......
【问题讨论】:
【参考方案1】:虽然我问这个问题已经有一段时间了,但我自己想出了一个解决问题的方法,我想和其他人分享......
我遇到了大约一周的问题,无法将数据从 Azure Blob 存储加载到 Hive 表中。我的 blob 中有两个名为 data-file.csv 和 data-file-extended-1.CSV 的 CSV 文件。请注意此处文件扩展名中的大写字母!
Hive 和 Hadoop 不接受这些文件,除非... a) 文件名的拼写方式完全一致,包括文件扩展名中的大写字母 和 b) 文件名大大缩短,没有连字符和数字(在我的例子中,我只使用了 6 个连体字母,即“datfil”和“datfix”)
令人震惊的是,官方 Azure 文档中都没有提到这些问题,我在网络上也没有找到任何东西。但是,这两个调整将解决错误消息。
只是为了让人们知道......
【讨论】:
以上是关于Hive 查询 - FAILED SemanticException 无效路径的主要内容,如果未能解决你的问题,请参考以下文章
在hive中查询导入数据表时FAILED: SemanticException [Error 10096]: Dynamic partition strict mode requires at lea
hive 错误 FAILED: SemanticException [Error 10041]: No partition predicate found for
Hive错误:FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码2
Hive报错FAILED: SemanticException Can not find 表名 in genColumnStatsTask