zoukankan      html  css  js  c++  java
  • java hadoop file system API

    org.apache.hadoop.fs

    Class FileSystem

    • All Implemented Interfaces:
      CloseableAutoCloseableConfigurable
      Direct Known Subclasses:
      FilterFileSystemFTPFileSystemKosmosFileSystemNativeS3FileSystemRawLocalFileSystemS3FileSystemViewFileSystem


      @InterfaceAudience.Public
      @InterfaceStability.Stable
      public abstract class FileSystem
      extends Configured
      implements Closeable
      An abstract base class for a fairly generic filesystem. It may be implemented as a distributed filesystem, or as a "local" one that reflects the locally-connected disk. The local version exists for small Hadoop instances and for testing.

      All user code that may potentially use the Hadoop Distributed File System should be written to use a FileSystem object. The Hadoop DFS is a multi-machine system that appears as a single disk. It's useful because of its fault tolerance and potentially very large capacity.

      The local implementation is LocalFileSystem and distributed implementation is DistributedFileSystem.

      • Constructor Detail

      • Method Detail

        • getDefaultUri

          public static URI getDefaultUri(Configuration conf)
          Get the default filesystem URI from a configuration.
          Parameters:
          conf - the configuration to use
          Returns:
          the uri of the default filesystem
        • setDefaultUri

          public static void setDefaultUri(Configuration conf,
                           URI uri)
          Set the default filesystem URI in a configuration.
          Parameters:
          conf - the configuration to alter
          uri - the new default filesystem uri
        • setDefaultUri

          public static void setDefaultUri(Configuration conf,
                           String uri)
          Set the default filesystem URI in a configuration.
          Parameters:
          conf - the configuration to alter
          uri - the new default filesystem uri
        • initialize

          public void initialize(URI name,
                        Configuration conf)
                          throws IOException
          Called after a new FileSystem instance is constructed.
          Parameters:
          name - a uri whose authority section names the host, port, etc. for this FileSystem
          conf - the configuration
          Throws:
          IOException
        • getScheme

          public String getScheme()
          Return the protocol scheme for the FileSystem.

          This implementation throws an UnsupportedOperationException.

          Returns:
          the protocol scheme for the FileSystem.
        • getUri

          public abstract URI getUri()
          Returns a URI whose scheme and authority identify this FileSystem.
        • getCanonicalUri

          protected URI getCanonicalUri()
          Resolve the uri's hostname and add the default port if not in the uri
          Returns:
          URI
          See Also:
          NetUtils.getCanonicalUri(URI, int)
        • getDefaultPort

          protected int getDefaultPort()
          Get the default port for this file system.
          Returns:
          the default port or 0 if there isn't one
        • get

          public static FileSystem get(URI uri,
                       Configuration conf)
                                throws IOException
          Returns the FileSystem for this URI's scheme and authority. The scheme of the URI determines a configuration property name, fs.scheme.class whose value names the FileSystem class. The entire URI is passed to the FileSystem instance's initialize method.
          Throws:
          IOException
        • newInstance

          public static FileSystem newInstance(URI uri,
                               Configuration conf)
                                        throws IOException
          Returns the FileSystem for this URI's scheme and authority. The scheme of the URI determines a configuration property name, fs.scheme.class whose value names the FileSystem class. The entire URI is passed to the FileSystem instance's initialize method. This always returns a new FileSystem object.
          Throws:
          IOException
        • closeAll

          public static void closeAll()
                               throws IOException
          Close all cached filesystems. Be sure those filesystems are not used anymore.
          Throws:
          IOException
        • closeAllForUGI

          public static void closeAllForUGI(org.apache.hadoop.security.UserGroupInformation ugi)
                                     throws IOException
          Close all cached filesystems for a given UGI. Be sure those filesystems are not used anymore.
          Parameters:
          ugi - user group info to close
          Throws:
          IOException
        • makeQualified

          public Path makeQualified(Path path)
          Make sure that a path specifies a FileSystem.
          Parameters:
          path - to use
        • create

          public static FSDataOutputStream create(FileSystem fs,
                                  Path file,
                                  FsPermission permission)
                                           throws IOException
          create a file with the provided permission The permission of the file is set to be the provided permission as in setPermission, not permission&~umask It is implemented using two RPCs. It is understood that it is inefficient, but the implementation is thread-safe. The other option is to change the value of umask in configuration to be 0, but it is not thread-safe.
          Parameters:
          fs - file system handle
          file - the name of the file to be created
          permission - the permission of the file
          Returns:
          an output stream
          Throws:
          IOException
        • mkdirs

          public static boolean mkdirs(FileSystem fs,
                       Path dir,
                       FsPermission permission)
                                throws IOException
          create a directory with the provided permission The permission of the directory is set to be the provided permission as in setPermission, not permission&~umask
          Parameters:
          fs - file system handle
          dir - the name of the directory to be created
          permission - the permission of the directory
          Returns:
          true if the directory creation succeeds; false otherwise
          Throws:
          IOException
          See Also:
          create(FileSystem, Path, FsPermission)
        • checkPath

          protected void checkPath(Path path)
          Check that a Path belongs to this FileSystem.
          Parameters:
          path - to check
        • getFileBlockLocations

          public BlockLocation[] getFileBlockLocations(FileStatus file,
                                              long start,
                                              long len)
                                                throws IOException
          Return an array containing hostnames, offset and size of portions of the given file. For a nonexistent file or regions, null will be returned. This call is most helpful with DFS, where it returns hostnames of machines that contain the given file. The FileSystem will simply return an elt containing 'localhost'.
          Parameters:
          file - FilesStatus to get data from
          start - offset into the given file
          len - length for which to get locations for
          Throws:
          IOException
        • getFileBlockLocations

          public BlockLocation[] getFileBlockLocations(Path p,
                                              long start,
                                              long len)
                                                throws IOException
          Return an array containing hostnames, offset and size of portions of the given file. For a nonexistent file or regions, null will be returned. This call is most helpful with DFS, where it returns hostnames of machines that contain the given file. The FileSystem will simply return an elt containing 'localhost'.
          Parameters:
          p - path is used to identify an FS since an FS could have another FS that it could be delegating the call to
          start - offset into the given file
          len - length for which to get locations for
          Throws:
          IOException
        • getServerDefaults

          public FsServerDefaults getServerDefaults(Path p)
                                             throws IOException
          Return a set of server default configuration values
          Parameters:
          p - path is used to identify an FS since an FS could have another FS that it could be delegating the call to
          Returns:
          server default configuration values
          Throws:
          IOException
        • open

          public abstract FSDataInputStream open(Path f,
                               int bufferSize)
                                          throws IOException
          Opens an FSDataInputStream at the indicated Path.
          Parameters:
          f - the file name to open
          bufferSize - the size of the buffer to be used.
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  boolean overwrite)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path.
          Parameters:
          f - the file to create
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an exception will be thrown.
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  short replication)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path. Files are overwritten by default.
          Parameters:
          f - the file to create
          replication - the replication factor
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  short replication,
                                  Progressable progress)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path with write-progress reporting. Files are overwritten by default.
          Parameters:
          f - the file to create
          replication - the replication factor
          progress - to report progress
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  boolean overwrite,
                                  int bufferSize)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path.
          Parameters:
          f - the file name to create
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  boolean overwrite,
                                  int bufferSize,
                                  Progressable progress)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path with write-progress reporting.
          Parameters:
          f - the path of the file to open
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  boolean overwrite,
                                  int bufferSize,
                                  short replication,
                                  long blockSize)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path.
          Parameters:
          f - the file name to open
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          Throws:
          IOException
        • create

          public FSDataOutputStream create(Path f,
                                  boolean overwrite,
                                  int bufferSize,
                                  short replication,
                                  long blockSize,
                                  Progressable progress)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path with write-progress reporting.
          Parameters:
          f - the file name to open
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          Throws:
          IOException
        • create

          public abstract FSDataOutputStream create(Path f,
                                  FsPermission permission,
                                  boolean overwrite,
                                  int bufferSize,
                                  short replication,
                                  long blockSize,
                                  Progressable progress)
                                             throws IOException
          Create an FSDataOutputStream at the indicated Path with write-progress reporting.
          Parameters:
          f - the file name to open
          permission -
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          blockSize -
          progress -
          Throws:
          IOException
          See Also:
          setPermission(Path, FsPermission)
        • create

          public FSDataOutputStream create(Path f,
                                  FsPermission permission,
                                  EnumSet<CreateFlag> flags,
                                  int bufferSize,
                                  short replication,
                                  long blockSize,
                                  Progressable progress,
                                  org.apache.hadoop.fs.Options.ChecksumOpt checksumOpt)
                                    throws IOException
          Create an FSDataOutputStream at the indicated Path with a custom checksum option
          Parameters:
          f - the file name to open
          permission -
          flags - CreateFlags to use for this stream.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          blockSize -
          progress -
          checksumOpt - checksum parameter. If null, the values found in conf will be used.
          Throws:
          IOException
          See Also:
          setPermission(Path, FsPermission)
        • primitiveMkdir

          @Deprecated
          protected boolean primitiveMkdir(Path f,
                                          FsPermission absolutePermission)
                                    throws IOException
          Deprecated. 
          This version of the mkdirs method assumes that the permission is absolute. It has been added to support the FileContext that processes the permission with umask before calling this method. This a temporary method added to support the transition from FileSystem to FileContext for user applications.
          Throws:
          IOException
        • primitiveMkdir

          @Deprecated
          protected void primitiveMkdir(Path f,
                                       FsPermission absolutePermission,
                                       boolean createParent)
                                 throws IOException
          Deprecated. 
          This version of the mkdirs method assumes that the permission is absolute. It has been added to support the FileContext that processes the permission with umask before calling this method. This a temporary method added to support the transition from FileSystem to FileContext for user applications.
          Throws:
          IOException
        • createNonRecursive

          @Deprecated
          public FSDataOutputStream createNonRecursive(Path f,
                                                         boolean overwrite,
                                                         int bufferSize,
                                                         short replication,
                                                         long blockSize,
                                                         Progressable progress)
                                                throws IOException
          Deprecated. API only for 0.20-append
          Opens an FSDataOutputStream at the indicated Path with write-progress reporting. Same as create(), except fails if parent directory doesn't already exist.
          Parameters:
          f - the file name to open
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          blockSize -
          progress -
          Throws:
          IOException
          See Also:
          setPermission(Path, FsPermission)
        • createNonRecursive

          @Deprecated
          public FSDataOutputStream createNonRecursive(Path f,
                                                         FsPermission permission,
                                                         boolean overwrite,
                                                         int bufferSize,
                                                         short replication,
                                                         long blockSize,
                                                         Progressable progress)
                                                throws IOException
          Deprecated. API only for 0.20-append
          Opens an FSDataOutputStream at the indicated Path with write-progress reporting. Same as create(), except fails if parent directory doesn't already exist.
          Parameters:
          f - the file name to open
          permission -
          overwrite - if a file with this name already exists, then if true, the file will be overwritten, and if false an error will be thrown.
          bufferSize - the size of the buffer to be used.
          replication - required block replication for the file.
          blockSize -
          progress -
          Throws:
          IOException
          See Also:
          setPermission(Path, FsPermission)
        • createNewFile

          public boolean createNewFile(Path f)
                                throws IOException
          Creates the given Path as a brand-new zero-length file. If create fails, or if it already existed, return false.
          Parameters:
          f - path to use for create
          Throws:
          IOException
        • append

          public FSDataOutputStream append(Path f)
                                    throws IOException
          Append to an existing file (optional operation). Same as append(f, getConf().getInt("io.file.buffer.size", 4096), null)
          Parameters:
          f - the existing file to be appended.
          Throws:
          IOException
        • append

          public FSDataOutputStream append(Path f,
                                  int bufferSize)
                                    throws IOException
          Append to an existing file (optional operation). Same as append(f, bufferSize, null).
          Parameters:
          f - the existing file to be appended.
          bufferSize - the size of the buffer to be used.
          Throws:
          IOException
        • append

          public abstract FSDataOutputStream append(Path f,
                                  int bufferSize,
                                  Progressable progress)
                                             throws IOException
          Append to an existing file (optional operation).
          Parameters:
          f - the existing file to be appended.
          bufferSize - the size of the buffer to be used.
          progress - for reporting progress if it is not null.
          Throws:
          IOException
        • concat

          public void concat(Path trg,
                    Path[] psrcs)
                      throws IOException
          Concat existing files together.
          Parameters:
          trg - the path to the target destination.
          psrcs - the paths to the sources to use for the concatenation.
          Throws:
          IOException
        • setReplication

          public boolean setReplication(Path src,
                               short replication)
                                 throws IOException
          Set replication for an existing file.
          Parameters:
          src - file name
          replication - new replication
          Returns:
          true if successful; false if file does not exist or is a directory
          Throws:
          IOException
        • rename

          public abstract boolean rename(Path src,
                       Path dst)
                                  throws IOException
          Renames Path src to Path dst. Can take place on local fs or remote DFS.
          Parameters:
          src - path to be renamed
          dst - new path after rename
          Returns:
          true if rename is successful
          Throws:
          IOException - on failure
        • rename

          @Deprecated
          protected void rename(Path src,
                               Path dst,
                               org.apache.hadoop.fs.Options.Rename... options)
                         throws IOException
          Deprecated. 
          Renames Path src to Path dst
          • Fails if src is a file and dst is a directory.
          • Fails if src is a directory and dst is a file.
          • Fails if the parent of dst does not exist or is a file.

          If OVERWRITE option is not passed as an argument, rename fails if the dst already exists.

          If OVERWRITE option is passed as an argument, rename overwrites the dst if it is a file or an empty directory. Rename fails if dst is a non-empty directory.

          Note that atomicity of rename is dependent on the file system implementation. Please refer to the file system documentation for details. This default implementation is non atomic.

          This method is deprecated since it is a temporary method added to support the transition from FileSystem to FileContext for user applications.

          Parameters:
          src - path to be renamed
          dst - new path after rename
          Throws:
          IOException - on failure
        • delete

          public abstract boolean delete(Path f,
                       boolean recursive)
                                  throws IOException
          Delete a file.
          Parameters:
          f - the path to delete.
          recursive - if path is a directory and set to true, the directory is deleted else throws an exception. In case of a file the recursive can be set to either true or false.
          Returns:
          true if delete is successful else false.
          Throws:
          IOException
        • deleteOnExit

          public boolean deleteOnExit(Path f)
                               throws IOException
          Mark a path to be deleted when FileSystem is closed. When the JVM shuts down, all FileSystem objects will be closed automatically. Then, the marked path will be deleted as a result of closing the FileSystem. The path has to exist in the file system.
          Parameters:
          f - the path to delete.
          Returns:
          true if deleteOnExit is successful, otherwise false.
          Throws:
          IOException
        • cancelDeleteOnExit

          public boolean cancelDeleteOnExit(Path f)
          Cancel the deletion of the path when the FileSystem is closed
          Parameters:
          f - the path to cancel deletion
        • processDeleteOnExit

          protected void processDeleteOnExit()
          Delete all files that were marked as delete-on-exit. This recursively deletes all files in the specified paths.
        • isDirectory

          public boolean isDirectory(Path f)
                              throws IOException
          True iff the named path is a directory. Note: Avoid using this method. Instead reuse the FileStatus returned by getFileStatus() or listStatus() methods.
          Parameters:
          f - path to check
          Throws:
          IOException
        • isFile

          public boolean isFile(Path f)
                         throws IOException
          True iff the named path is a regular file. Note: Avoid using this method. Instead reuse the FileStatus returned by getFileStatus() or listStatus() methods.
          Parameters:
          f - path to check
          Throws:
          IOException
        • listCorruptFileBlocks

          public org.apache.hadoop.fs.RemoteIterator<PathlistCorruptFileBlocks(Path path)
                                                                          throws IOException
          Returns:
          an iterator over the corrupt files under the given path (may contain duplicates if a file has more than one corrupt block)
          Throws:
          IOException
        • globStatus

          public FileStatus[] globStatus(Path pathPattern)
                                  throws IOException

          Return all the files that match filePattern and are not checksum files. Results are sorted by their names.

          A filename pattern is composed of regular characters and special pattern matching characters, which are:

          ?
          Matches any single character.
          *
          Matches zero or more characters.
          [abc]
          Matches a single character from character set {a,b,c}.
          [a-b]
          Matches a single character from the character range {a...b}. Note that character a must be lexicographically less than or equal to character b.
          [^a]
          Matches a single character that is not from character set or range {a}. Note that the ^ character must occur immediately to the right of the opening bracket.
          c
          Removes (escapes) any special meaning of character c.
          {ab,cd}
          Matches a string from the string set {ab, cd}
          {ab,c{de,fh}}
          Matches a string from the string set {ab, cde, cfh}
          Parameters:
          pathPattern - a regular expression specifying a pth pattern
          Returns:
          an array of paths that match the path pattern
          Throws:
          IOException
        • globStatus

          public FileStatus[] globStatus(Path pathPattern,
                                PathFilter filter)
                                  throws IOException
          Return an array of FileStatus objects whose path names match pathPattern and is accepted by the user-supplied path filter. Results are sorted by their path names. Return null if pathPattern has no glob and the path does not exist. Return an empty array if pathPattern has a glob and no path matches it.
          Parameters:
          pathPattern - a regular expression specifying the path pattern
          filter - a user-supplied path filter
          Returns:
          an array of FileStatus objects
          Throws:
          IOException - if any I/O error occurs when fetching file status
        • listLocatedStatus

          public org.apache.hadoop.fs.RemoteIterator<LocatedFileStatuslistLocatedStatus(Path f)
                                                                                   throws FileNotFoundException,
                                                                                          IOException
          List the statuses of the files/directories in the given path if the path is a directory. Return the file's status and block locations If the path is a file. If a returned status is a file, it contains the file's block locations.
          Parameters:
          f - is the path
          Returns:
          an iterator that traverses statuses of the files/directories in the given path
          Throws:
          FileNotFoundException - If f does not exist
          IOException - If an I/O error occurred
        • listFiles

          public org.apache.hadoop.fs.RemoteIterator<LocatedFileStatuslistFiles(Path f,
                                                                         boolean recursive)
                                                                           throws FileNotFoundException,
                                                                                  IOException
          List the statuses and block locations of the files in the given path. If the path is a directory, if recursive is false, returns files in the directory; if recursive is true, return files in the subtree rooted at the path. If the path is a file, return the file's status and block locations.
          Parameters:
          f - is the path
          recursive - if the subdirectories need to be traversed recursively
          Returns:
          an iterator that traverses statuses of the files
          Throws:
          FileNotFoundException - when the path does not exist; IOException see specific implementation
          IOException
        • getHomeDirectory

          public Path getHomeDirectory()
          Return the current user's home directory in this filesystem. The default implementation returns "/user/$USER/".
        • setWorkingDirectory

          public abstract void setWorkingDirectory(Path new_dir)
          Set the current working directory for the given file system. All relative paths will be resolved relative to it.
          Parameters:
          new_dir -
        • getWorkingDirectory

          public abstract Path getWorkingDirectory()
          Get the current working directory for the given file system
          Returns:
          the directory pathname
        • getInitialWorkingDirectory

          protected Path getInitialWorkingDirectory()
          Note: with the new FilesContext class, getWorkingDirectory() will be removed. The working directory is implemented in FilesContext. Some file systems like LocalFileSystem have an initial workingDir that we use as the starting workingDir. For other file systems like HDFS there is no built in notion of an initial workingDir.
          Returns:
          if there is built in notion of workingDir then it is returned; else a null is returned.
        • mkdirs

          public abstract boolean mkdirs(Path f,
                       FsPermission permission)
                                  throws IOException
          Make the given file and all non-existent parents into directories. Has the semantics of Unix 'mkdir -p'. Existence of the directory hierarchy is not an error.
          Parameters:
          f - path to create
          permission - to apply to f
          Throws:
          IOException
        • copyFromLocalFile

          public void copyFromLocalFile(Path src,
                               Path dst)
                                 throws IOException
          The src file is on the local disk. Add it to FS at the given dst name and the source is kept intact afterwards
          Parameters:
          src - path
          dst - path
          Throws:
          IOException
        • moveFromLocalFile

          public void moveFromLocalFile(Path[] srcs,
                               Path dst)
                                 throws IOException
          The src files is on the local disk. Add it to FS at the given dst name, removing the source afterwards.
          Parameters:
          srcs - path
          dst - path
          Throws:
          IOException
        • moveFromLocalFile

          public void moveFromLocalFile(Path src,
                               Path dst)
                                 throws IOException
          The src file is on the local disk. Add it to FS at the given dst name, removing the source afterwards.
          Parameters:
          src - path
          dst - path
          Throws:
          IOException
        • copyFromLocalFile

          public void copyFromLocalFile(boolean delSrc,
                               Path src,
                               Path dst)
                                 throws IOException
          The src file is on the local disk. Add it to FS at the given dst name. delSrc indicates if the source should be removed
          Parameters:
          delSrc - whether to delete the src
          src - path
          dst - path
          Throws:
          IOException
        • copyFromLocalFile

          public void copyFromLocalFile(boolean delSrc,
                               boolean overwrite,
                               Path[] srcs,
                               Path dst)
                                 throws IOException
          The src files are on the local disk. Add it to FS at the given dst name. delSrc indicates if the source should be removed
          Parameters:
          delSrc - whether to delete the src
          overwrite - whether to overwrite an existing file
          srcs - array of paths which are source
          dst - path
          Throws:
          IOException
        • copyFromLocalFile

          public void copyFromLocalFile(boolean delSrc,
                               boolean overwrite,
                               Path src,
                               Path dst)
                                 throws IOException
          The src file is on the local disk. Add it to FS at the given dst name. delSrc indicates if the source should be removed
          Parameters:
          delSrc - whether to delete the src
          overwrite - whether to overwrite an existing file
          src - path
          dst - path
          Throws:
          IOException
        • copyToLocalFile

          public void copyToLocalFile(Path src,
                             Path dst)
                               throws IOException
          The src file is under FS, and the dst is on the local disk. Copy it from FS control to the local dst name.
          Parameters:
          src - path
          dst - path
          Throws:
          IOException
        • moveToLocalFile

          public void moveToLocalFile(Path src,
                             Path dst)
                               throws IOException
          The src file is under FS, and the dst is on the local disk. Copy it from FS control to the local dst name. Remove the source afterwards
          Parameters:
          src - path
          dst - path
          Throws:
          IOException
        • copyToLocalFile

          public void copyToLocalFile(boolean delSrc,
                             Path src,
                             Path dst)
                               throws IOException
          The src file is under FS, and the dst is on the local disk. Copy it from FS control to the local dst name. delSrc indicates if the src will be removed or not.
          Parameters:
          delSrc - whether to delete the src
          src - path
          dst - path
          Throws:
          IOException
        • copyToLocalFile

          public void copyToLocalFile(boolean delSrc,
                             Path src,
                             Path dst,
                             boolean useRawLocalFileSystem)
                               throws IOException
          The src file is under FS, and the dst is on the local disk. Copy it from FS control to the local dst name. delSrc indicates if the src will be removed or not. useRawLocalFileSystem indicates whether to use RawLocalFileSystem as local file system or not. RawLocalFileSystem is non crc file system.So, It will not create any crc files at local.
          Parameters:
          delSrc - whether to delete the src
          src - path
          dst - path
          useRawLocalFileSystem - whether to use RawLocalFileSystem as local file system or not.
          Throws:
          IOException - - if any IO error
        • startLocalOutput

          public Path startLocalOutput(Path fsOutputFile,
                              Path tmpLocalFile)
                                throws IOException
          Returns a local File that the user can write output to. The caller provides both the eventual FS target name and the local working file. If the FS is local, we write directly into the target. If the FS is remote, we write into the tmp local area.
          Parameters:
          fsOutputFile - path of output file
          tmpLocalFile - path of local tmp file
          Throws:
          IOException
        • completeLocalOutput

          public void completeLocalOutput(Path fsOutputFile,
                                 Path tmpLocalFile)
                                   throws IOException
          Called when we're all done writing to the target. A local FS will do nothing, because we've written to exactly the right place. A remote FS will copy the contents of tmpLocalFile to the correct target at fsOutputFile.
          Parameters:
          fsOutputFile - path of output file
          tmpLocalFile - path to local tmp file
          Throws:
          IOException
        • getDefaultBlockSize

          public long getDefaultBlockSize(Path f)
          Return the number of bytes that large input files should be optimally be split into to minimize i/o time. The given path will be used to locate the actual filesystem. The full path does not have to exist.
          Parameters:
          f - path of file
          Returns:
          the default block size for the path's filesystem
        • getDefaultReplication

          public short getDefaultReplication(Path path)
          Get the default replication for a path. The given path will be used to locate the actual filesystem. The full path does not have to exist.
          Parameters:
          path - of the file
          Returns:
          default replication for the path's filesystem
        • getFileChecksum

          public FileChecksum getFileChecksum(Path f)
                                       throws IOException
          Get the checksum of a file.
          Parameters:
          f - The file path
          Returns:
          The file checksum. The default return value is null, which indicates that no checksum algorithm is implemented in the corresponding FileSystem.
          Throws:
          IOException
        • setVerifyChecksum

          public void setVerifyChecksum(boolean verifyChecksum)
          Set the verify checksum flag. This is only applicable if the corresponding FileSystem supports checksum. By default doesn't do anything.
          Parameters:
          verifyChecksum -
        • setWriteChecksum

          public void setWriteChecksum(boolean writeChecksum)
          Set the write checksum flag. This is only applicable if the corresponding FileSystem supports checksum. By default doesn't do anything.
          Parameters:
          writeChecksum -
        • getStatus

          public FsStatus getStatus()
                             throws IOException
          Returns a status object describing the use and capacity of the file system. If the file system has multiple partitions, the use and capacity of the root partition is reflected.
          Returns:
          a FsStatus object
          Throws:
          IOException - see specific implementation
        • getStatus

          public FsStatus getStatus(Path p)
                             throws IOException
          Returns a status object describing the use and capacity of the file system. If the file system has multiple partitions, the use and capacity of the partition pointed to by the specified path is reflected.
          Parameters:
          p - Path for which status should be obtained. null means the default partition.
          Returns:
          a FsStatus object
          Throws:
          IOException - see specific implementation
        • setOwner

          public void setOwner(Path p,
                      String username,
                      String groupname)
                        throws IOException
          Set owner of a path (i.e. a file or a directory). The parameters username and groupname cannot both be null.
          Parameters:
          p - The path
          username - If it is null, the original username remains unchanged.
          groupname - If it is null, the original groupname remains unchanged.
          Throws:
          IOException
        • setTimes

          public void setTimes(Path p,
                      long mtime,
                      long atime)
                        throws IOException
          Set access time of a file
          Parameters:
          p - The path
          mtime - Set the modification time of this file. The number of milliseconds since Jan 1, 1970. A value of -1 means that this call should not set modification time.
          atime - Set the access time of this file. The number of milliseconds since Jan 1, 1970. A value of -1 means that this call should not set access time.
          Throws:
          IOException
        • getStatistics

          @Deprecated
          public static Map<String,org.apache.hadoop.fs.FileSystem.Statistics> getStatistics()
          Deprecated. use getAllStatistics() instead
          Get the Map of Statistics object indexed by URI Scheme.
          Returns:
          a Map having a key as URI scheme and value as Statistics object
        • getAllStatistics

          public static List<org.apache.hadoop.fs.FileSystem.Statistics> getAllStatistics()
          Return the FileSystem classes that have Statistics
        • getStatistics

          public static org.apache.hadoop.fs.FileSystem.Statistics getStatistics(String scheme,
                                                                 Class<? extends FileSystem> cls)
          Get the statistics for a particular file system
          Parameters:
          cls - the class to lookup
          Returns:
          a statistics object
        • clearStatistics

          public static void clearStatistics()
          Reset all statistics for all file systems
  • 相关阅读:
    HTML简单的用户资料
    PhP CSS常用选择器
    PHPCSS样式表
    PHP第四日随笔
    一些记不住的东西
    错误记录
    关于空想X
    DSA 祖玛
    洛谷 P1194 买礼物
    Git笔记
  • 原文地址:https://www.cnblogs.com/mfryf/p/3156322.html
Copyright © 2011-2022 走看看