object IdentityColumn extends DeltaLogging
Provide utility methods related to IDENTITY column support for Delta.
- Alphabetic
- By Inheritance
- IdentityColumn
- DeltaLogging
- DatabricksLogging
- DeltaProgressReporter
- LoggingShims
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class LogStringContext extends AnyRef
- Definition Classes
- LoggingShims
- case class IdentityInfo(start: Long, step: Long, highWaterMark: Option[Long]) extends Product with Serializable
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 allowExplicitInsert(field: StructField): Boolean
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def blockExplicitIdentityColumnInsert(identityColumns: Seq[StructField], insertedColNameParts: Seq[Seq[String]]): Unit
- def blockExplicitIdentityColumnInsert(schema: StructType, query: LogicalPlan): Unit
- def blockIdentityColumnUpdate(identityColumns: Seq[StructField], updatedColNameParts: Seq[Seq[String]]): Unit
- def blockIdentityColumnUpdate(schema: StructType, updatedColNameParts: Seq[Seq[String]]): Unit
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def copySchemaWithMergedHighWaterMarks(deltaLog: DeltaLog, schemaToCopy: StructType, schemaWithHighWaterMarksToMerge: StructType): StructType
Returns a copy of
schemaToCopyin which the high water marks of the identity columns have been merged with the corresponding high water marks ofschemaWithHighWaterMarksToMerge. - def createIdentityColumnGenerationExpr(field: StructField): Expression
- def createIdentityColumnGenerationExprAsColumn(field: StructField): Column
- def createIdentityColumnStatsTracker(spark: SparkSession, hadoopConf: Configuration, path: Path, schema: StructType, statsDataSchema: Seq[Attribute], trackHighWaterMarks: Set[String]): Option[DeltaIdentityColumnStatsTracker]
Create a stats tracker to collect IDENTITY column high water marks if its values are system generated.
Create a stats tracker to collect IDENTITY column high water marks if its values are system generated.
- spark
The SparkSession associated with this query.
- hadoopConf
The Hadoop configuration object to use on an executor.
- path
Root Reservoir path
- schema
The schema of the table to be written into.
- statsDataSchema
The schema of the output data (this does not include partition columns).
- trackHighWaterMarks
Column names for which we should track high water marks.
- returns
The stats tracker.
- val defaultStart: Int
- val defaultStep: Int
- def deltaAssert(check: => Boolean, name: String, msg: String, deltaLog: DeltaLog = null, data: AnyRef = null, path: Option[Path] = None): Unit
Helper method to check invariants in Delta code.
Helper method to check invariants in Delta code. Fails when running in tests, records a delta assertion event and logs a warning otherwise.
- Attributes
- protected
- Definition Classes
- DeltaLogging
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getCommonTags(deltaLog: DeltaLog, tahoeId: String): Map[TagDefinition, String]
- Definition Classes
- DeltaLogging
- def getErrorData(e: Throwable): Map[String, Any]
- Definition Classes
- DeltaLogging
- def getIdentityColumns(schema: StructType): Seq[StructField]
- def getIdentityInfo(field: StructField): IdentityInfo
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logConsole(line: String): Unit
- Definition Classes
- DatabricksLogging
- 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 logTableCreation(deltaLog: DeltaLog, schema: StructType): Unit
- def logTableWrite(snapshot: Snapshot, generatedIdentityColumns: Set[String], numInsertedRowsOpt: Option[Long]): Unit
- 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 logTransactionAbort(deltaLog: DeltaLog): Unit
- 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
- 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()
- val opTypeAbort: String
- val opTypeDefinition: String
- val opTypeHighWaterMarkUpdate: String
- val opTypeWrite: String
- def recordDeltaEvent(deltaLog: DeltaLog, opType: String, tags: Map[TagDefinition, String] = Map.empty, data: AnyRef = null, path: Option[Path] = None): Unit
Used to record the occurrence of a single event or report detailed, operation specific statistics.
Used to record the occurrence of a single event or report detailed, operation specific statistics.
- path
Used to log the path of the delta table when
deltaLogis null.
- Attributes
- protected
- Definition Classes
- DeltaLogging
- def recordDeltaOperation[A](deltaLog: DeltaLog, opType: String, tags: Map[TagDefinition, String] = Map.empty)(thunk: => A): A
Used to report the duration as well as the success or failure of an operation on a
deltaLog.Used to report the duration as well as the success or failure of an operation on a
deltaLog.- Attributes
- protected
- Definition Classes
- DeltaLogging
- def recordDeltaOperationForTablePath[A](tablePath: String, opType: String, tags: Map[TagDefinition, String] = Map.empty)(thunk: => A): A
Used to report the duration as well as the success or failure of an operation on a
tahoePath.Used to report the duration as well as the success or failure of an operation on a
tahoePath.- Attributes
- protected
- Definition Classes
- DeltaLogging
- def recordEvent(metric: MetricDefinition, additionalTags: Map[TagDefinition, String] = Map.empty, blob: String = null, trimBlob: Boolean = true): Unit
- Definition Classes
- DatabricksLogging
- def recordFrameProfile[T](group: String, name: String)(thunk: => T): T
- Attributes
- protected
- Definition Classes
- DeltaLogging
- def recordOperation[S](opType: OpType, opTarget: String = null, extraTags: Map[TagDefinition, String], isSynchronous: Boolean = true, alwaysRecordStats: Boolean = false, allowAuthTags: Boolean = false, killJvmIfStuck: Boolean = false, outputMetric: MetricDefinition = METRIC_OPERATION_DURATION, silent: Boolean = true)(thunk: => S): S
- Definition Classes
- DatabricksLogging
- def recordProductEvent(metric: MetricDefinition with CentralizableMetric, additionalTags: Map[TagDefinition, String] = Map.empty, blob: String = null, trimBlob: Boolean = true): Unit
- Definition Classes
- DatabricksLogging
- def recordProductUsage(metric: MetricDefinition with CentralizableMetric, quantity: Double, additionalTags: Map[TagDefinition, String] = Map.empty, blob: String = null, forceSample: Boolean = false, trimBlob: Boolean = true, silent: Boolean = false): Unit
- Definition Classes
- DatabricksLogging
- def recordUsage(metric: MetricDefinition, quantity: Double, additionalTags: Map[TagDefinition, String] = Map.empty, blob: String = null, forceSample: Boolean = false, trimBlob: Boolean = true, silent: Boolean = false): Unit
- Definition Classes
- DatabricksLogging
- def roundToNext(start: Long, step: Long, value: Long): Long
Round
valueto the next value that follows start and step configuration.Round
valueto the next value that follows start and step configuration.- Attributes
- protected[delta]
- def syncIdentity(deltaLog: DeltaLog, field: StructField, df: DataFrame, allowLoweringHighWaterMarkForSyncIdentity: Boolean): StructField
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def updateSchema(deltaLog: DeltaLog, schema: StructType, updatedIdentityHighWaterMarks: Seq[(String, Long)]): StructType
Return a new schema with IDENTITY high water marks updated in the schema.
Return a new schema with IDENTITY high water marks updated in the schema. The new high watermarks are decided based on the
updatedIdentityHighWaterMarksand old high watermark values present in the passedschema. - def updateToValidHighWaterMark(field: StructField, candidateHighWaterMark: Long, allowLoweringHighWaterMarkForSyncIdentity: Boolean): (StructField, Seq[String])
Update the high water mark of the IDENTITY column based on
candidateHighWaterMark.Update the high water mark of the IDENTITY column based on
candidateHighWaterMark.We validate against the identity column definition (start, step) and may insert a high watermark that's different from
candidateHighWaterMarkif it's not valid. This method may also not update the high watermark if the candidate doesn't respect the start, is below the current watermark or is a NOOP.- field
The IDENTITY column to update.
- candidateHighWaterMark
The candidate high water mark to update to.
- allowLoweringHighWaterMarkForSyncIdentity
Whether to allow lowering the high water mark. Lowering the high water mark is NOT SAFE in general, but may be a valid operation in SYNC IDENTITY (e.g. repair a high water mark after a bad sync).
- returns
A new
StructFieldwith the high water mark updated tocandidateHighWaterMarkand a Seq[String] that contains debug information for logging.
- Attributes
- protected[delta]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withStatusCode[T](statusCode: String, defaultMessage: String, data: Map[String, Any] = Map.empty)(body: => T): T
Report a log to indicate some command is running.
Report a log to indicate some command is running.
- Definition Classes
- DeltaProgressReporter