[ 
https://issues.apache.org/jira/browse/HIVE-1852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12971991#action_12971991
 ] 

Joydeep Sen Sarma commented on HIVE-1852:
-----------------------------------------

what happens when there are multiple srcs:

    srcs = fs.listStatus(srcf);
     for (FileStatus src : srcs) {
       if (!fs.rename(src.getPath(), tmppath)) {

we can't rename multiple sources to the same target. this happens when the 
input path is a glob (which i think the load command allows).

can we special case this optimization (apply only when srcs.length == 1)?

> Reduce unnecessary DFSClient.rename() calls
> -------------------------------------------
>
>                 Key: HIVE-1852
>                 URL: https://issues.apache.org/jira/browse/HIVE-1852
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Ning Zhang
>            Assignee: Ning Zhang
>         Attachments: HIVE-1852.2.patch, HIVE-1852.patch
>
>
> In Hive client side (MoveTask etc), DFSCleint.rename() is called for every 
> file inside a directory. It is very expensive for a large directory in a busy 
> DFS namenode. We should replace it with a single rename() call on the whole 
> directory. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to