case class Mutation(schema: StructType = null, before: Array[Any] = null, after: Array[Any] = null) extends Product with Serializable

MUTATION vs. EVENT

Mutation is the general case of an Event Imagine a user impression/view stream - impressions/views are immutable events Imagine a stream of changes to a credit card transaction stream.

  • transactions can be "corrected"/updated & deleted, besides being "inserted"
  • This is one of the core difference between entity and event sources. Events are insert-only.
  • (The other difference is Entites are stored in the warehouse typically as snapshots of the table as of midnight) In case of an update - one must produce both before and after values In case of a delete - only before is populated & after is left as null In case of a insert - only after is populated & before is left as null
TIME ASSUMPTIONS

The schema needs to contain a ts(milliseconds as a java Long) For the entities case, mutation_ts when absent will use ts as a replacement

TYPE CONVERSIONS

Java types corresponding to the schema types. StreamDecoder should produce mutations that comply. NOTE: everything is nullable (hence boxed) IntType java.lang.Integer LongType java.lang.Long DoubleType java.lang.Double FloatType java.lang.Float ShortType java.lang.Short BooleanType java.lang.Boolean ByteType java.lang.Byte StringType java.lang.String BinaryType Array[Byte] ListType java.util.List[Byte] MapType java.util.Map[Byte] StructType Array[Any]

Linear Supertypes
Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Mutation
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Mutation(schema: StructType = null, before: Array[Any] = null, after: Array[Any] = null)

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. val after: Array[Any]
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val before: Array[Any]
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. val schema: StructType
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped