org.apache.spark.sql.execution.streaming

FileStreamSourceLog

class FileStreamSourceLog extends CompactibleFileStreamLog[FileEntry]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FileStreamSourceLog
  2. CompactibleFileStreamLog
  3. HDFSMetadataLog
  4. Logging
  5. MetadataLog
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FileStreamSourceLog(metadataLogVersion: String, sparkSession: SparkSession, path: String)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def add(batchId: Long, logs: Array[FileEntry]): Boolean

    Store the metadata for the specified batchId and return true if successful.

    Store the metadata for the specified batchId and return true if successful. If the batchId's metadata has already been stored, this method will return false.

    Note that this method must be called on a org.apache.spark.util.UninterruptibleThread so that interrupts can be disabled while writing the batch file. This is because there is a potential dead-lock in Hadoop "Shell.runCommand" before 2.5.0 (HADOOP-10622). If the thread running "Shell.runCommand" is interrupted, then the thread can get deadlocked. In our case, writeBatch creates a file using HDFS API and calls "Shell.runCommand" to set the file permissions, and can get deadlocked if the stream execution thread is stopped by interrupt. Hence, we make sure that this method is called on UninterruptibleThread which allows us to disable interrupts here. Also see SPARK-14131.

    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLogHDFSMetadataLogMetadataLog
  7. def allFiles(): Array[FileEntry]

    Returns all files except the deleted ones.

    Returns all files except the deleted ones.

    Definition Classes
    CompactibleFileStreamLog
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def batchIdToPath(batchId: Long): Path

  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val compactInterval: Int

    Attributes
    protected
    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  12. def compactLogs(logs: Seq[FileEntry]): Seq[FileEntry]

    Filter out the obsolete logs.

    Filter out the obsolete logs.

    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  13. def deserialize(in: InputStream): Array[FileEntry]

  14. def deserializeData(encodedString: String): FileEntry

    Deserialize the string into data object.

    Deserialize the string into data object.

    Attributes
    protected
    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  15. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  17. val fileCleanupDelayMs: Long

    If we delete the old files after compaction at once, there is a race condition in S3: other processes may see the old files are deleted but still cannot see the compaction file using "list".

    If we delete the old files after compaction at once, there is a race condition in S3: other processes may see the old files are deleted but still cannot see the compaction file using "list". The allFiles handles this by looking for the next compaction file directly, however, a live lock may happen if the compaction happens too frequently: one processing keeps deleting old files while another one keeps retrying. Setting a reasonable cleanup delay could avoid it.

    Attributes
    protected
    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  18. val fileManager: FileManager

    Attributes
    protected
    Definition Classes
    HDFSMetadataLog
  19. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def get(startId: Option[Long], endId: Option[Long]): Array[(Long, Array[FileEntry])]

    Return metadata for batches between startId (inclusive) and endId (inclusive).

    Return metadata for batches between startId (inclusive) and endId (inclusive). If startId is None, just return all batches before endId (inclusive).

    Definition Classes
    FileStreamSourceLogHDFSMetadataLogMetadataLog
  21. def get(batchId: Long): Option[Array[FileEntry]]

    Return the metadata for the specified batchId if it's stored.

    Return the metadata for the specified batchId if it's stored. Otherwise, return None.

    Definition Classes
    HDFSMetadataLogMetadataLog
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def getLatest(): Option[(Long, Array[FileEntry])]

    Return the latest batch Id and its metadata if exist.

    Return the latest batch Id and its metadata if exist.

    Definition Classes
    HDFSMetadataLogMetadataLog
  24. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  25. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Attributes
    protected
    Definition Classes
    Logging
  26. def isBatchFile(path: Path): Boolean

  27. val isDeletingExpiredLog: Boolean

    Attributes
    protected
    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  30. def log: Logger

    Attributes
    protected
    Definition Classes
    Logging
  31. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  32. def logDebug(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  33. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  34. def logError(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  35. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  36. def logInfo(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  37. def logName: String

    Attributes
    protected
    Definition Classes
    Logging
  38. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  39. def logTrace(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  40. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  41. def logWarning(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  42. val metadataPath: Path

    Definition Classes
    HDFSMetadataLog
  43. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  44. final def notify(): Unit

    Definition Classes
    AnyRef
  45. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  46. def pathToBatchId(path: Path): Long

  47. def purge(thresholdBatchId: Long): Unit

    Removes all the log entry earlier than thresholdBatchId (exclusive).

    Removes all the log entry earlier than thresholdBatchId (exclusive).

    Definition Classes
    HDFSMetadataLogMetadataLog
  48. def serialize(logData: Array[FileEntry], out: OutputStream): Unit

  49. def serializeData(data: FileEntry): String

    Serialize the data into encoded string.

    Serialize the data into encoded string.

    Attributes
    protected
    Definition Classes
    FileStreamSourceLogCompactibleFileStreamLog
  50. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  51. def toString(): String

    Definition Classes
    AnyRef → Any
  52. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from HDFSMetadataLog[Array[FileEntry]]

Inherited from Logging

Inherited from MetadataLog[Array[FileEntry]]

Inherited from AnyRef

Inherited from Any

Ungrouped