Feng Yuan created HIVE-13781:
--------------------------------

             Summary: Tez Job failed with FileNotFoundException when partition 
dir doesnt exists 
                 Key: HIVE-13781
                 URL: https://issues.apache.org/jira/browse/HIVE-13781
             Project: Hive
          Issue Type: Bug
          Components: Query Planning
    Affects Versions: 0.14.0
         Environment: hive 0.14.0 ,tez-0.5.2,hadoop 2.6.0
            Reporter: Feng Yuan


when i have a partitioned table a with partition "day",in metadata a have 
partition day: 20160501,20160502,but partition 20160501's dir didnt exits.
so when i use tez engine to run hive -e "select day,count(*) from a where xx=xx 
group by day"
hive throws FileNotFoundException.
but mr work.

repo eg:
CREATE EXTERNAL TABLE `a`(
  `a` string)
PARTITIONED BY ( 
  `l_date` string);

insert overwrite table a partition(l_date='2016-04-08') values (1),(2);
insert overwrite table a partition(l_date='2016-04-09') values (1),(2);
hadoop dfs -rm -r -f /warehouse/a/l_date=2016-04-09

select l_date,count(*) from a where a='1' group by l_date;

error:
ut: a initializer failed, vertex=vertex_1463493135662_10445_1_00 [Map 1], 
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: 
hdfs://bfdhadoopcool/warehouse/test.db/a/l_date=2015-04-09
        at 
org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:285)
        at 
org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:228)
        at 
org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313)
        at 
org.apache.hadoop.hive.ql.io.HiveInputFormat.addSplitsForGroup(HiveInputFormat.java:300)
        at 
org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:402)
        at 
org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:129)
        at 
org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:245)
        at 
org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:239)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
        at 
org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:239)
        at 
org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable.call(RootInputInitializerManager.java:226)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to