public class HadoopFileIO extends Object implements FileIO
FileIO.| Modifier and Type | Field and Description |
|---|---|
protected Map<Pair<String,String>,org.apache.hadoop.fs.FileSystem> |
fsMap |
protected SerializableConfiguration |
hadoopConf |
| Constructor and Description |
|---|
HadoopFileIO() |
| Modifier and Type | Method and Description |
|---|---|
void |
configure(CatalogContext context)
Configure by
CatalogContext. |
protected org.apache.hadoop.fs.FileSystem |
createFileSystem(org.apache.hadoop.fs.Path path) |
boolean |
delete(Path path,
boolean recursive)
Delete a file.
|
boolean |
exists(Path path)
Check if exists.
|
FileStatus |
getFileStatus(Path path)
Return a file status object that represents the path.
|
boolean |
isObjectStore() |
FileStatus[] |
listStatus(Path path)
List the statuses of the files/directories in the given path if the path is a directory.
|
boolean |
mkdirs(Path path)
Make the given file and all non-existent parents into directories.
|
SeekableInputStream |
newInputStream(Path path)
Opens an SeekableInputStream at the indicated Path.
|
PositionOutputStream |
newOutputStream(Path path,
boolean overwrite)
Opens an PositionOutputStream at the indicated Path.
|
void |
overwriteFileUtf8(Path path,
String content)
Overwrite file by content atomically, different
FileIOs have different atomic
implementations. |
boolean |
rename(Path src,
Path dst)
Renames the file/directory src to dst.
|
void |
setFileSystem(Path path,
org.apache.hadoop.fs.FileSystem fs) |
boolean |
tryAtomicOverwriteViaRename(Path dst,
String content) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckOrMkdirs, copyFile, copyFiles, deleteDirectoryQuietly, deleteFilesQuietly, deleteQuietly, discoverLoaders, get, getFileSize, isDir, listDirectories, readFileUtf8, readOverwrittenFileUtf8, tryToWriteAtomic, writeFileprotected SerializableConfiguration hadoopConf
@VisibleForTesting public void setFileSystem(Path path, org.apache.hadoop.fs.FileSystem fs) throws IOException
IOExceptionpublic boolean isObjectStore()
isObjectStore in interface FileIOpublic void configure(CatalogContext context)
FileIOCatalogContext.public SeekableInputStream newInputStream(Path path) throws IOException
FileIOnewInputStream in interface FileIOpath - the file to openIOExceptionpublic PositionOutputStream newOutputStream(Path path, boolean overwrite) throws IOException
FileIOnewOutputStream in interface FileIOpath - the file name to openoverwrite - if a file with this name already exists, then if true, the file will be
overwritten, and if false an error will be thrown.IOException - Thrown, if the stream could not be opened because of an I/O, or because a
file already exists at that path and the write mode indicates to not overwrite the file.public FileStatus getFileStatus(Path path) throws IOException
FileIOgetFileStatus in interface FileIOpath - The path we want information fromFileNotFoundException - when the path does not exist; IOException see specific
implementationIOExceptionpublic FileStatus[] listStatus(Path path) throws IOException
FileIOlistStatus in interface FileIOpath - given pathIOExceptionpublic boolean exists(Path path) throws IOException
FileIOexists in interface FileIOpath - source fileIOExceptionpublic boolean delete(Path path, boolean recursive) throws IOException
FileIOdelete in interface FileIOpath - the path to deleterecursive - 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 falsetrue if delete is successful, false otherwiseIOExceptionpublic boolean mkdirs(Path path) throws IOException
FileIOmkdirs in interface FileIOpath - the directory/directories to be createdtrue if at least one new directory has been created, false
otherwiseIOException - thrown if an I/O error occurs while creating the directorypublic boolean rename(Path src, Path dst) throws IOException
FileIOrename in interface FileIOsrc - the file/directory to renamedst - the new name of the file/directorytrue if the renaming was successful, false otherwiseIOExceptionpublic void overwriteFileUtf8(Path path, String content) throws IOException
FileIOFileIOs have different atomic
implementations.overwriteFileUtf8 in interface FileIOIOExceptionprotected org.apache.hadoop.fs.FileSystem createFileSystem(org.apache.hadoop.fs.Path path)
throws IOException
IOExceptionpublic boolean tryAtomicOverwriteViaRename(Path dst, String content) throws IOException
IOExceptionCopyright © 2023–2024 The Apache Software Foundation. All rights reserved.