class LocalLogStore extends HadoopFileSystemLogStore
Default LogStore implementation (should be used for testing only!).
Production users should specify the appropriate implementation in Spark properties.
We assume the following from org.apache.hadoop.fs.FileSystem implementations: - Rename without overwrite is atomic. - List-after-write is consistent.
Regarding file creation, this implementation: - Uses atomic rename when overwrite is false; if the destination file exists or the rename fails, throws an exception. - Uses create-with-overwrite when overwrite is true. This does not make the file atomically visible and therefore the caller must handle partial files.
- Alphabetic
- By Inheritance
- LocalLogStore
- HadoopFileSystemLogStore
- LogStore
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new LocalLogStore(sparkConf: SparkConf, hadoopConf: Configuration)
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()
-
def
createTempPath(path: Path): Path
- Attributes
- protected
- Definition Classes
- HadoopFileSystemLogStore
-
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
getHadoopConfiguration: Configuration
- Attributes
- protected
- Definition Classes
- HadoopFileSystemLogStore
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
invalidateCache(): Unit
Invalidate any caching that the implementation may be using
Invalidate any caching that the implementation may be using
- Definition Classes
- LocalLogStore → HadoopFileSystemLogStore → LogStore
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isPartialWriteVisible(path: Path): Boolean
Whether a partial write is visible when writing to
path.Whether a partial write is visible when writing to
path.As this depends on the underlying file system implementations, we require the input of
pathhere in order to identify the underlying file system, even though in most cases a log store only deals with one file system.The default value is only provided here for legacy reasons, which will be removed. Any LogStore implementation should override this instead of relying on the default.
- Definition Classes
- LocalLogStore → LogStore
-
def
listFrom(path: Path): Iterator[FileStatus]
List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given
path.List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given
path. The result should also be sorted by the file name.- Definition Classes
- HadoopFileSystemLogStore → LogStore
-
final
def
listFrom(path: String): Iterator[FileStatus]
List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given
path.List the paths in the same directory that are lexicographically greater or equal to (UTF-8 sorting) the given
path. The result should also be sorted by the file name.- Definition Classes
- LogStore
-
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()
-
def
read(path: Path): Seq[String]
Read the given
pathRead the given
path- Definition Classes
- HadoopFileSystemLogStore → LogStore
-
final
def
read(path: String): Seq[String]
Read the given
pathRead the given
path- Definition Classes
- LogStore
-
def
resolvePathOnPhysicalStorage(path: Path): Path
Resolve the fully qualified path for the given
path.Resolve the fully qualified path for the given
path.- Definition Classes
- HadoopFileSystemLogStore → LogStore
-
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()
-
def
write(path: Path, actions: Iterator[String], overwrite: Boolean = false): Unit
This write implementation needs to wraps
writeWithRenamewithsynchronizedas the rename() for org.apache.hadoop.fs.RawLocalFileSystem doesn't throw an exception when the target file exists.This write implementation needs to wraps
writeWithRenamewithsynchronizedas the rename() for org.apache.hadoop.fs.RawLocalFileSystem doesn't throw an exception when the target file exists. Hence we must make sureexists + renameinwriteWithRenameis atomic in our tests.- Definition Classes
- LocalLogStore → LogStore
-
final
def
write(path: String, actions: Iterator[String]): Unit
Write the given
actionsto the givenpathwithout overwriting any existing file.Write the given
actionsto the givenpathwithout overwriting any existing file. Implementation must throw java.nio.file.FileAlreadyExistsException exception if the file already exists. Furthermore, implementation must ensure that the entire file is made visible atomically, that is, it should not generate partial files.- Definition Classes
- LogStore
-
def
writeWithRename(path: Path, actions: Iterator[String], overwrite: Boolean = false): Unit
An internal write implementation that uses FileSystem.rename().
An internal write implementation that uses FileSystem.rename().
This implementation should only be used for the underlying file systems that support atomic renames, e.g., Azure is OK but HDFS is not.
- Attributes
- protected
- Definition Classes
- HadoopFileSystemLogStore