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;