hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-14271) FileSinkOperator should not rename files to final paths when S3 is the default destination
Date Fri, 22 Jul 2016 17:05:20 GMT

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

Chris Nauroth commented on HIVE-14271:
--------------------------------------

If I understand correctly, then approach b) sounds like the "direct output committer" strategy
that has been discussed in a few other contexts.  Please be aware that this is unsafe in the
presence of certain kinds of network partitions.  It might be a rare case, but the consequences
are distastrous: data loss or corruption.  For example, Spark highly discourages a direct
write strategy.  (See SPARK-10063.)

> FileSinkOperator should not rename files to final paths when S3 is the default destination
> ------------------------------------------------------------------------------------------
>
>                 Key: HIVE-14271
>                 URL: https://issues.apache.org/jira/browse/HIVE-14271
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Sergio Peña
>            Assignee: Abdullah Yousufi
>
> FileSinkOperator does a rename of {{outPaths -> finalPaths}} when it finished writing
all rows to a temporary path. The problem is that S3 does not support renaming.
> Two options can be considered:
> a. Use a copy operation instead. After FileSinkOperator writes all rows to outPaths,
then the commit method will do a copy() call instead of move().
> b. Write row by row directly to the S3 path (see HIVE-1620). This may add better performance
calls, but we should take care of the cleanup part in case of writing errors.



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

Mime
View raw message