org.apache.spark.sql.execution.streaming
LowLatencyMemoryStream
Companion object LowLatencyMemoryStream
class LowLatencyMemoryStream[A] extends MemoryStreamBaseClass[A] with SupportsRealTimeMode
A low latency memory source from memory, only for unit test purpose. This class is very similar to ContinuousMemoryStream, except that it implements the interface of SupportsRealTimeMode, rather than ContinuousStream The overall strategy here is: * LowLatencyMemoryStream maintains a list of records for each partition. addData() will distribute records evenly-ish across partitions. * RecordEndpoint is set up as an endpoint for executor-side LowLatencyMemoryStreamInputPartitionReader instances to poll. It returns the record at the specified offset within the list, or null if that offset doesn't yet have a record. This differs from the existing memory source implementation as data is sent once to tasks as part of the Partition/Split metadata at the beginning of a batch.
- Alphabetic
- By Inheritance
- LowLatencyMemoryStream
- SupportsRealTimeMode
- MemoryStreamBaseClass
- Logging
- SupportsTriggerAvailableNow
- SupportsAdmissionControl
- MicroBatchStream
- MemoryStreamBase
- SparkDataStream
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new LowLatencyMemoryStream(id: Int, sparkSession: SparkSession, numPartitions: Int = 2, clock: Clock = LowLatencyClock.getClock)(implicit arg0: Encoder[A])
Type Members
- implicit class LogStringContext extends AnyRef
- Definition Classes
- Logging
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 MDC(key: LogKey, value: Any): MDC
- Attributes
- protected
- Definition Classes
- Logging
- def addData(partitionId: Int, data: IterableOnce[A]): Offset
- def addData(data: IterableOnce[A]): Offset
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MemoryStreamBase
- def addData(data: A*): connector.read.streaming.Offset
- Definition Classes
- MemoryStreamBase
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val attributes: Seq[AttributeReference]
- Attributes
- protected
- Definition Classes
- MemoryStreamBase
- val batches: ListBuffer[Array[UnsafeRow]]
All batches from
lastCommittedOffset + 1tocurrentOffset, inclusive.All batches from
lastCommittedOffset + 1tocurrentOffset, inclusive. Stored in a ListBuffer to facilitate removing committed batches.- Attributes
- protected
- Definition Classes
- MemoryStreamBaseClass
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def commit(end: connector.read.streaming.Offset): Unit
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MemoryStreamBase → SparkDataStream
- def createReaderFactory(): PartitionReaderFactory
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MicroBatchStream
- var currentOffset: LongOffset
- Attributes
- protected
- Definition Classes
- MemoryStreamBaseClass
- def deserializeOffset(json: String): LowLatencyMemoryStreamOffset
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MemoryStreamBase → SparkDataStream
- val encoder: ExpressionEncoder[A]
- Definition Classes
- MemoryStreamBase
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fullSchema(): StructType
- Definition Classes
- MemoryStreamBase
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getDefaultReadLimit(): ReadLimit
- Definition Classes
- SupportsAdmissionControl
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def initialOffset(): connector.read.streaming.Offset
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MemoryStreamBase → SparkDataStream
- 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
- var lastOffsetCommitted: LongOffset
Last offset that was discarded, or -1 if no commits have occurred.
Last offset that was discarded, or -1 if no commits have occurred. Note that the value -1 is used in calculations below and isn't just an arbitrary constant.
- Attributes
- protected
- Definition Classes
- MemoryStreamBaseClass
- def latestOffset(startOffset: connector.read.streaming.Offset, limit: ReadLimit): connector.read.streaming.Offset
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → SupportsAdmissionControl
- def latestOffset(): connector.read.streaming.Offset
- Definition Classes
- MemoryStreamBaseClass → MicroBatchStream
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logBasedOnLevel(level: Level)(f: => MessageWithContext): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(entry: LogEntry): 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(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(entry: LogEntry, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(entry: LogEntry): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- val logicalPlan: LogicalPlan
- Attributes
- protected
- Definition Classes
- MemoryStreamBase
- def mergeOffsets(offsets: Array[PartitionOffset]): LowLatencyMemoryStreamOffset
- Definition Classes
- LowLatencyMemoryStream → SupportsRealTimeMode
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val output: Seq[Attribute]
- Attributes
- protected
- Definition Classes
- MemoryStreamBaseClass
- def planInputPartitions(start: connector.read.streaming.Offset, end: connector.read.streaming.Offset): Array[InputPartition]
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → MicroBatchStream
- def planInputPartitions(start: connector.read.streaming.Offset): Array[InputPartition]
- Definition Classes
- LowLatencyMemoryStream → SupportsRealTimeMode
- def prepareForRealTimeMode(): Unit
- Definition Classes
- SupportsRealTimeMode
- def prepareForTriggerAvailableNow(): Unit
- Definition Classes
- MemoryStreamBaseClass → SupportsTriggerAvailableNow
- def reportLatestOffset(): connector.read.streaming.Offset
- Definition Classes
- SupportsAdmissionControl
- def reset(): Unit
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass
- var startOffset: LongOffset
- Attributes
- protected
- Definition Classes
- MemoryStreamBaseClass
- def stop(): Unit
- Definition Classes
- LowLatencyMemoryStream → MemoryStreamBaseClass → SparkDataStream
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toDF(): classic.DataFrame
- Definition Classes
- MemoryStreamBase
- def toDS(): classic.Dataset[A]
- Definition Classes
- MemoryStreamBase
- lazy val toRow: Serializer[A]
- Attributes
- protected
- Definition Classes
- MemoryStreamBase
- def toString(): String
- Definition Classes
- MemoryStreamBaseClass → AnyRef → Any
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withLogContext(context: Map[String, String])(body: => Unit): Unit
- Attributes
- protected
- Definition Classes
- Logging
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)