Consumed by row aggregator after decoding.
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 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.
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
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]
TileCodec is a helper class that allows for the creation of pre-aggregated tiles of feature values.
TileCodec is a helper class that allows for the creation of pre-aggregated tiles of feature values. These pre-aggregated tiles can be used in the serving layer to compute the final feature values along with batch pre-aggregates produced by GroupByUploads. The pre-aggregated tiles are serialized as Avro and indicate whether the tile is complete or not (partial aggregates)
Utility to create a cache with LRU semantics.
Utility to create a cache with LRU semantics.
The original purpose of having an LRU cache in Chronon is to cache KVStore calls and decoded IRs in the Fetcher. This helps decrease to feature serving latency.
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)