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
- All
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( ... ) @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: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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( ... )
-
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
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