package online
- Alphabetic
- Public
- Protected
Type Members
- abstract class Api extends Serializable
- class ArrayRow extends Row
Consumed by row aggregator after decoding.
Consumed by row aggregator after decoding. Mutations follow the same schema as input for value indices. However there are two main differences. * ts and reversal columns are required for computation * Mutation ts takes on the role of ts. Since the schema is the same with the sole difference of the added columns, we add these columns on the tail of the Array and extract them accordingly. i.e. for mutations: reversal index = ArrayRow.length - (Constants.MutationAvroColumns.length - (index of reversal in Constants.MutationAvroColumns)
- class AvroCodec extends Serializable
- class BaseFetcher extends MetadataStore
- case class DataMetrics(series: Seq[(Long, SortedMap[String, Any])]) extends Product with Serializable
- abstract class ExternalSourceHandler extends AnyRef
- class ExternalSourceRegistry extends AnyRef
- class Fetcher extends BaseFetcher
- class GroupByServingInfoParsed extends GroupByServingInfo with Serializable
- abstract class JTry[V] extends AnyRef
- abstract class JavaExternalSourceHandler extends ExternalSourceHandler
- class JavaFetcher extends AnyRef
- class JavaRequest extends AnyRef
- class JavaResponse extends AnyRef
- case class JoinCodec(conf: JoinOps, keySchema: StructType, valueSchema: StructType, keyCodec: AvroCodec, valueCodec: AvroCodec) extends Serializable with Product
- trait KVStore extends AnyRef
- case class LoggableResponse(keyBytes: Array[Byte], valueBytes: Array[Byte], joinName: String, tsMillis: Long, schemaHash: String) extends Product with Serializable
- case class LoggableResponseBase64(keyBase64: String, valueBase64: String, name: String, tsMillis: Long, schemaHash: String) extends Product with Serializable
- class MetadataStore extends AnyRef
- case class Mutation(schema: StructType = null, before: Array[Any] = null, after: Array[Any] = null) extends Product with Serializable
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.
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 usets
as a replacementTYPE 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]
- abstract class StreamDecoder extends Serializable
- class TTLCache[I, O] extends AnyRef
Value Members
- object AvroCodec extends Serializable
- object AvroConversions
- object CompatParColls
- object Fetcher
- object JoinCodec extends Serializable
- object KVStore
- object Metrics
- object TTLCache