org.apache.spark.sql.execution.streaming
CheckpointFileManager
Companion object CheckpointFileManager
trait CheckpointFileManager extends AnyRef
An interface to abstract out all operation related to streaming checkpoints. Most importantly,
the key operation this interface provides is createAtomic(path, overwrite)
which returns a
CancellableFSDataOutputStream
. This method is used by HDFSMetadataLog and
StateStore implementations
to write a complete checkpoint file atomically (i.e. no partial file will be visible), with or
without overwrite.
This higher-level interface above the Hadoop FileSystem is necessary because
different implementation of FileSystem/FileContext may have different combination of operations
to provide the desired atomic guarantees (e.g. write-to-temp-file-and-rename,
direct-write-and-cancel-on-failure) and this abstraction allow different implementations while
keeping the usage simple (createAtomic
-> close
or cancel
).
- Alphabetic
- By Inheritance
- CheckpointFileManager
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
createAtomic(path: Path, overwriteIfPossible: Boolean): CancellableFSDataOutputStream
Create a file and make its contents available atomically after the output stream is closed.
Create a file and make its contents available atomically after the output stream is closed.
- path
Path to create
- overwriteIfPossible
If true, then the implementations must do a best-effort attempt to overwrite the file if it already exists. It should not throw any exception if the file exists. However, if false, then the implementation must not overwrite if the file already exists and must throw
FileAlreadyExistsException
in that case.
-
abstract
def
delete(path: Path): Unit
Recursively delete a path if it exists.
Recursively delete a path if it exists. Should not throw exception if file doesn't exist.
-
abstract
def
exists(path: Path): Boolean
Whether path exists
-
abstract
def
isLocal: Boolean
Is the default file system this implementation is operating on the local file system.
-
abstract
def
list(path: Path, filter: PathFilter): Array[FileStatus]
List the files in a path that match a filter.
-
abstract
def
mkdirs(path: Path): Unit
Make directory at the give path and all its parent directories as needed.
-
abstract
def
open(path: Path): FSDataInputStream
Open a file for reading, or throw exception if it does not exist.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
list(path: Path): Array[FileStatus]
List all the files in a path.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()