Packages

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LocalLogStore
  2. HadoopFileSystemLogStore
  3. LogStore
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LocalLogStore(sparkConf: SparkConf, hadoopConf: Configuration)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def createTempPath(path: Path): Path
    Attributes
    protected
    Definition Classes
    HadoopFileSystemLogStore
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def getHadoopConfiguration: Configuration
    Attributes
    protected
    Definition Classes
    HadoopFileSystemLogStore
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def invalidateCache(): Unit

    Invalidate any caching that the implementation may be using

    Invalidate any caching that the implementation may be using

    Definition Classes
    LocalLogStoreHadoopFileSystemLogStoreLogStore
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. 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 path here 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
    LocalLogStoreLogStore
  16. 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
    HadoopFileSystemLogStoreLogStore
  17. 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
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. def read(path: Path): Seq[String]

    Read the given path

    Read the given path

    Definition Classes
    HadoopFileSystemLogStoreLogStore
  22. final def read(path: String): Seq[String]

    Read the given path

    Read the given path

    Definition Classes
    LogStore
  23. 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
    HadoopFileSystemLogStoreLogStore
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  29. def write(path: Path, actions: Iterator[String], overwrite: Boolean = false): Unit

    This write implementation needs to wraps writeWithRename with synchronized as the rename() for org.apache.hadoop.fs.RawLocalFileSystem doesn't throw an exception when the target file exists.

    This write implementation needs to wraps writeWithRename with synchronized as the rename() for org.apache.hadoop.fs.RawLocalFileSystem doesn't throw an exception when the target file exists. Hence we must make sure exists + rename in writeWithRename is atomic in our tests.

    Definition Classes
    LocalLogStoreLogStore
  30. final def write(path: String, actions: Iterator[String]): Unit

    Write the given actions to the given path without overwriting any existing file.

    Write the given actions to the given path without 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
  31. 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

Inherited from HadoopFileSystemLogStore

Inherited from LogStore

Inherited from AnyRef

Inherited from Any

Ungrouped