Hive 从配置单元表中查询单个列以获取S3数据时获取FileNotFoundException

Hive 从配置单元表中查询单个列以获取S3数据时获取FileNotFoundException,hive,Hive,我使用下面的语句在配置单元中创建了一个表。我的输入数据位于S3(s3n://test/hiveTest/01/) 当我发出下面的命令时,我可以看到结果数据 蜂巢>从tests3中选择*;好的,第一次第二次第三次第四次 拍摄时间:1.647秒 但当我从表中选择特定列时,会出现以下错误 配置单元>从tests3中选择firstName;MapReduce作业总数=1 1个reduce任务中的作业1被设置为0,因为没有 reduce运算符java.io.FileNotFoundException:文件

我使用下面的语句在配置单元中创建了一个表。我的输入数据位于
S3(s3n://test/hiveTest/01/)

当我发出下面的命令时,我可以看到结果数据

蜂巢>从tests3中选择*;好的,第一次第二次第三次第四次 拍摄时间:1.647秒

但当我从表中选择特定列时,会出现以下错误

配置单元>从tests3中选择firstName;MapReduce作业总数=1 1个reduce任务中的作业1被设置为0,因为没有 reduce运算符java.io.FileNotFoundException:文件不存在: /tests3/hiveTest/01/abc.txt 位于org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:736) 位于org.apache.hadoop.mapred.lib.CombineFileInputFormat$OneFileInfo。(CombineFileInputFormat.java:462) 位于org.apache.hadoop.mapred.lib.CombineFileInputFormat.getMoreSplits(CombineFileInputFormat.java:256) 位于org.apache.hadoop.mapred.lib.CombineFileInputFormat.getSplits(CombineFileInputFormat.java:212) 位于org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(HadoopShimsSecure.java:387) 在org.apache.hadoop.hive.shimmes.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(HadoopShimsSecure.java:353) 位于org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getSplits(CombineHiveInputFormat.java:387) 位于org.apache.hadoop.mapred.JobClient.writeldsplits(JobClient.java:989) 位于org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:981) 位于org.apache.hadoop.mapred.JobClient.access$500(JobClient.java:170) 位于org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:891) 位于org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:844) 位于java.security.AccessController.doPrivileged(本机方法) 位于javax.security.auth.Subject.doAs(Subject.java:396) 位于org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1232) 位于org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:844) 位于org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:818) 位于org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:452) 位于org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:136) 位于org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:133) 位于org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57) 位于org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1332) 位于org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1123) 位于org.apache.hadoop.hive.ql.Driver.run(Driver.java:931) 位于org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:255) 位于org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:212) 位于org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403) 位于org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:671) 位于org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:554) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.hadoop.util.RunJar.main(RunJar.java:208)上,作业提交失败,出现异常“java.io.FileNotFoundException(File 不存在:/test/hiveTest/01/abc.txt)“失败:执行错误, 从org.apache.hadoop.hive.ql.exec.MapRedTask返回代码1


请在运行查询之前尝试设置以下参数:

SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

非常感谢瓦夫齐涅克。设置上述属性后,其工作正常。
SET hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;