class SchemaTrackingLog[T <: PartitionAndDataSchema] extends HDFSMetadataLog[T] with LoggingShims
The underlying class for a streaming log that keeps track of a sequence of schema changes.
It keeps tracks of the sequence of schema changes that this log is aware of, and it detects any concurrent modifications to the schema log to prevent accidents on a best effort basis.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- SchemaTrackingLog
- LoggingShims
- HDFSMetadataLog
- Logging
- MetadataLog
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new SchemaTrackingLog(sparkSession: SparkSession, path: String, schemaSerializer: SchemaSerializer[T])(implicit arg0: ClassTag[T], arg1: Manifest[T])
Type Members
-
implicit
class
LogStringContext extends AnyRef
- Definition Classes
- LoggingShims
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
-
def
add(batchId: Long, metadata: T): Boolean
- Definition Classes
- HDFSMetadataLog → MetadataLog
-
def
addNewBatchByStream(batchId: Long)(fn: (OutputStream) ⇒ Unit): Boolean
- Definition Classes
- HDFSMetadataLog
-
def
addSchemaToLog(newSchema: T): T
Main API to actually write the log entry to the schema log.
Main API to actually write the log entry to the schema log. Clients can leverage this to save their new schema to the log.
- newSchema
New persisted schema
- Exceptions thrown
-
def
applyFnToBatchByStream[RET](batchId: Long, skipExistingCheck: Boolean)(fn: (InputStream) ⇒ RET): RET
- Definition Classes
- HDFSMetadataLog
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
batchCache: Map[Long, T]
- Attributes
- protected[sql]
- Definition Classes
- HDFSMetadataLog
-
val
batchFilesFilter: PathFilter
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
def
batchIdToPath(batchId: Long): Path
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
deserialize(in: InputStream): T
Deserializes the log entry from input stream.
Deserializes the log entry from input stream.
- Attributes
- protected
- Definition Classes
- SchemaTrackingLog → HDFSMetadataLog
- Exceptions thrown
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
fileManager: CheckpointFileManager
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
get(startId: Option[Long], endId: Option[Long]): Array[(Long, T)]
- Definition Classes
- HDFSMetadataLog → MetadataLog
-
def
get(batchId: Long): Option[T]
- Definition Classes
- HDFSMetadataLog → MetadataLog
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getCurrentTrackedSchema: Option[T]
Get the latest tracked schema entry by this schema log
-
def
getCurrentTrackedSeqNum: Long
Get the latest tracked schema batch ID / seq num by this log
-
def
getLatest(): Option[(Long, T)]
- Definition Classes
- HDFSMetadataLog → MetadataLog
-
def
getLatestBatchId(): Option[Long]
- Definition Classes
- HDFSMetadataLog
-
def
getOrderedBatchFiles(): Array[FileStatus]
- Definition Classes
- HDFSMetadataLog
-
def
getPrevBatchFromStorage(batchId: Long): Option[Long]
- Definition Classes
- HDFSMetadataLog
-
def
getTrackedSchemaAtSeqNum(seqNum: Long): Option[T]
Get the tracked schema at specified seq num.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
isBatchFile(path: Path): Boolean
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
listBatches: Array[Long]
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
def
listBatchesOnDisk: Array[Long]
- Definition Classes
- HDFSMetadataLog
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logDebug(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logError(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logInfo(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logTrace(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logWarning(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- LoggingShims
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
val
metadataCacheEnabled: Boolean
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
val
metadataPath: Path
- Definition Classes
- HDFSMetadataLog
-
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
pathToBatchId(path: Path): Long
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog
-
def
purge(thresholdBatchId: Long): Unit
- Definition Classes
- HDFSMetadataLog → MetadataLog
-
def
purgeAfter(thresholdBatchId: Long): Unit
- Definition Classes
- HDFSMetadataLog
-
def
serialize(metadata: T, out: OutputStream): Unit
- Attributes
- protected
- Definition Classes
- SchemaTrackingLog → HDFSMetadataLog
-
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(batchMetadataFile: Path, fn: (OutputStream) ⇒ Unit): Unit
- Attributes
- protected
- Definition Classes
- HDFSMetadataLog