c

io.delta.sharing.spark

DeltaSharingSource

case class DeltaSharingSource(spark: SparkSession, deltaLog: RemoteDeltaLog, options: DeltaSharingOptions) extends Source with SupportsAdmissionControl with SupportsTriggerAvailableNow with Logging with Product with Serializable

A streaming source for a Delta Sharing table.

When a new stream is started, delta sharing starts by constructing a RemoteDeltaSnapshot at the current version of the table. This snapshot is broken up into batches until all existing data has been processed. Subsequent processing is done by tailing the change log looking for new data. This results in the streaming query returning the same answer as a batch query that had processed the entire dataset at any given point.

Linear Supertypes
Serializable, Product, Equals, Logging, SupportsTriggerAvailableNow, SupportsAdmissionControl, Source, SparkDataStream, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeltaSharingSource
  2. Serializable
  3. Product
  4. Equals
  5. Logging
  6. SupportsTriggerAvailableNow
  7. SupportsAdmissionControl
  8. Source
  9. SparkDataStream
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new DeltaSharingSource(spark: SparkSession, deltaLog: RemoteDeltaLog, options: DeltaSharingOptions)

Type Members

  1. class AdmissionLimits extends AnyRef

    Class that helps controlling how much data should be processed by a single micro-batch.

  2. implicit class LogStringContext extends AnyRef
    Definition Classes
    Logging

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. def commit(end: Offset): Unit
    Definition Classes
    Source → SparkDataStream
  7. def commit(end: Offset): Unit
    Definition Classes
    Source
  8. val deltaLog: RemoteDeltaLog
  9. def deserializeOffset(json: String): Offset
    Definition Classes
    Source → SparkDataStream
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def getBatch(startOffsetOption: Option[Offset], end: Offset): DataFrame
    Definition Classes
    DeltaSharingSource → Source
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def getDefaultReadLimit(): ReadLimit
    Definition Classes
    DeltaSharingSource → SupportsAdmissionControl
  14. def getOffset: Option[Offset]
    Definition Classes
    DeltaSharingSource → Source
  15. def initialOffset(): Offset
    Definition Classes
    Source → SparkDataStream
  16. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  17. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  20. def latestOffset(startOffset: Offset, limit: ReadLimit): Offset
    Definition Classes
    DeltaSharingSource → SupportsAdmissionControl
  21. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  22. def logDebug(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  23. def logDebug(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  24. def logDebug(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  25. def logDebug(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  26. def logError(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  27. def logError(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  28. def logError(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  29. def logError(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. def logInfo(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def logInfo(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def logInfo(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def logInfo(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  35. def logTrace(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. def logTrace(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  37. def logTrace(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def logTrace(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def logWarning(msg: => String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def logWarning(entry: LogEntry, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  41. def logWarning(entry: LogEntry): Unit
    Attributes
    protected
    Definition Classes
    Logging
  42. def logWarning(msg: => String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  43. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  46. val options: DeltaSharingOptions
  47. def prepareForTriggerAvailableNow(): Unit

    Capture the server version once at query start.

    Capture the server version once at query start. All subsequent calls to getOrUpdateLatestTableVersion return this frozen value, which in turn caps endingVersionForQuery in maybeGetFileChanges. Once all files up to the frozen version have been consumed, getBatch returns no new data and the AvailableNow engine terminates the query.

    No additional guard inside maybeGetFileChanges is needed (unlike DeltaFormatSharingSource's needNewFilesFromServer): that source has an intermediate local delta log which must be explicitly stopped from growing past the frozen version; here there is no such buffer -- sortedFetchedFiles is populated directly from the server RPC whose version ceiling is already frozen.

    Definition Classes
    DeltaSharingSource → SupportsTriggerAvailableNow
  48. def productElementNames: Iterator[String]
    Definition Classes
    Product
  49. def reportLatestOffset(): Offset
    Definition Classes
    SupportsAdmissionControl
  50. val schema: StructType
    Definition Classes
    DeltaSharingSource → Source
  51. val spark: SparkSession
  52. def stop(): Unit
    Definition Classes
    DeltaSharingSource → SparkDataStream
  53. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  54. def toString(): String
    Definition Classes
    DeltaSharingSource → AnyRef → Any
  55. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  56. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  57. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  58. def withLogContext(context: Map[String, String])(body: => Unit): Unit
    Attributes
    protected
    Definition Classes
    Logging
  59. object AdmissionLimits

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Logging

Inherited from SupportsTriggerAvailableNow

Inherited from SupportsAdmissionControl

Inherited from Source

Inherited from SparkDataStream

Inherited from AnyRef

Inherited from Any

Ungrouped