Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-7331

Make temporary directory used by FileOutputCommitter configurable

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.0.0
    • None
    • mrv2
    • None
    • CDH 6.2.1 Hadoop 3.0.0

    Description

      Spark SQL applications uses FileOutputCommitter to commit and merge its files under a table directory. The hardcoded PENDING_DIR_NAME = _temporary directory results in multiple application using the same temporary directory. This casues unwanted results of one application interfering with other applications temporary files. Also one application ending up deleting temporary files of other. There is no way right now for applications to have there unique path to store the temporary files to avoid any interference from other totally independent applications.  I think the temporary directory being used by FileOutputCommitter should be made configurable to let the caller call with with its own unique value as per the requirement and avoid it getting deleted or overwritten by other applications 

      Something like:

      public static final String PENDING_DIR_NAME_DEFAULT = "_temporary";
      public static final String PENDING_DIR_NAME_DEFAULT =
      "mapreduce.fileoutputcommitter.tempdir";

       

      This can be used very efficiently by Spark applications to handle even stage failures where temporary directories from previous attempts cause problem and can help in so many situations. 

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bimalenduc Bimalendu Choudhary
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: