org.apache.spark.sql.execution.streaming
CompactibleFileStreamLog
Companion class CompactibleFileStreamLog
object CompactibleFileStreamLog
- Alphabetic
- By Inheritance
- CompactibleFileStreamLog
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
- val COMPACT_FILE_SUFFIX: String
- val COMPACT_LATENCY_WARN_THRESHOLD_MS: Int
-
def
deriveCompactInterval(defaultInterval: Int, latestCompactBatchId: Int): Int
Derives a compact interval from the latest compact batch id and a default compact interval.
-
def
getAllValidBatches(batchId: Long, compactInterval: Long): Seq[Long]
Returns all necessary logs before
batchId
(inclusive).Returns all necessary logs before
batchId
(inclusive). IfbatchId
is a compaction, just return itself. Otherwise, it will find the previous compaction batch and return all batches between it andbatchId
. - def getBatchIdFromFileName(fileName: String): Long
-
def
getValidBatchesBeforeCompactionBatch(compactionBatchId: Long, compactInterval: Int): Seq[Long]
Returns all valid batches before the specified
compactionBatchId
.Returns all valid batches before the specified
compactionBatchId
. They contain all logs we need to do a new compaction.E.g., if
compactInterval
is 3 andcompactionBatchId
is 5, this method should returnsSeq(2, 3, 4)
(Note: it includes the previous compaction batch 2). -
def
isCompactionBatch(batchId: Long, compactInterval: Int): Boolean
Returns if this is a compaction batch.
Returns if this is a compaction batch. FileStreamSinkLog will compact old logs every
compactInterval
commits.E.g., if
compactInterval
is 3, then 2, 5, 8, ... are all compaction batches. -
def
nextCompactionBatchId(batchId: Long, compactInterval: Long): Long
Returns the next compaction batch id after
batchId
.