You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Janaki Lahorani (JIRA)" <ji...@apache.org> on 2018/02/23 04:22:00 UTC
[jira] [Assigned] (HIVE-15310) CTAS fails when target location
contains multiple directories levels that don't exist
[ https://issues.apache.org/jira/browse/HIVE-15310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Janaki Lahorani reassigned HIVE-15310:
--------------------------------------
Assignee: Janaki Lahorani (was: Vihang Karajgaonkar)
> CTAS fails when target location contains multiple directories levels that don't exist
> -------------------------------------------------------------------------------------
>
> Key: HIVE-15310
> URL: https://issues.apache.org/jira/browse/HIVE-15310
> Project: Hive
> Issue Type: Bug
> Components: Hive
> Reporter: Sahil Takiar
> Assignee: Janaki Lahorani
> Priority: Major
>
> The second query below fails, if the {{/tmp/}} directory is empty:
> {code}
> create table test1 (id int) location '/tmp/test1/one/two/';
> create table test2 location '/tmp/test2/one/two' as select * from test1;
> {code}
> The stacktrace is:
> {code}
> Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to move source file:/var/folders/jb/350gyf853s91hk5xk06jyw2w0000gp/T/stakiar/f6c5c246-3209-4d76-aaf4-1ac91436f59a/hive_2016-11-29_14-02-33_047_219358498634208469-1/-mr-10002 to destination /tmp/test2/one/two
> at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:393)
> at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:250)
> at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
> at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:340)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:422)
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:353)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to move source file:/var/folders/jb/350gyf853s91hk5xk06jyw2w0000gp/T/stakiar/f6c5c246-3209-4d76-aaf4-1ac91436f59a/hive_2016-11-29_14-02-33_047_219358498634208469-1/-mr-10002 to destination /tmp/test2/one/two
> at org.apache.hadoop.hive.ql.exec.MoveTask.moveFile(MoveTask.java:104)
> at org.apache.hadoop.hive.ql.exec.MoveTask.execute(MoveTask.java:263)
> at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:199)
> at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
> at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2166)
> at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1822)
> at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1510)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1221)
> at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1216)
> at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:248)
> ... 11 more
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to move source file:/var/folders/jb/350gyf853s91hk5xk06jyw2w0000gp/T/stakiar/f6c5c246-3209-4d76-aaf4-1ac91436f59a/hive_2016-11-29_14-02-33_047_219358498634208469-1/-mr-10002 to destination /tmp/test2/one/two
> at org.apache.hadoop.hive.ql.metadata.Hive.moveFile(Hive.java:3119)
> at org.apache.hadoop.hive.ql.exec.MoveTask.moveFileInDfs(MoveTask.java:120)
> at org.apache.hadoop.hive.ql.exec.MoveTask.moveFile(MoveTask.java:97)
> ... 20 more
> Caused by: java.io.FileNotFoundException: File /tmp/test2/one does not exist
> at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:609)
> at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:822)
> at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:599)
> at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:421)
> at org.apache.hadoop.hive.io.HdfsUtils$HadoopFileStatus.<init>(HdfsUtils.java:178)
> at org.apache.hadoop.hive.ql.metadata.Hive.moveFile(Hive.java:3029)
> ... 22 more (state=08S01,code=1)
> {code}
> The second query works if the target location is simply {{/tmp/test2/}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)