You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2019/11/07 00:06:59 UTC

[GitHub] [incubator-pinot] npawar opened a new pull request #4798: Decouple Key from Record

npawar opened a new pull request #4798: Decouple Key from Record
URL: https://github.com/apache/incubator-pinot/pull/4798
 
 
   Separating out the `Key` from the `Record`.
   Record now has just `Object[] _columns`, which contains all the columns, with no distinction between keys/values. This is an attempt to make the Record more generic, and remove the aggregation/group by specific behavior.
   
   One by product of removing `Key` from `Record` is that the upsert function in the `IndexedTable` now has to extract the key on its own.
   Introduced a new `upsert(Key, Record)`, which will mainly be used by Group By. This is to avoid extracting the `Key` twice (we already extract Key in CombineGroupByOperator. If we simply call`upsert(Record)`, we have to extract Key again.
   We still need `upsert(Record)`, for 
   1) even group by cannot always have the Key e.g. merge calls upsert, broker side reduce
   2) other implementations of Table
   
   The Interface hierarchy now looks like:
   Table -> BaseTable -> IndexedTable
   where `IndexedTable` is used for a key/value style table. 
   We will soon add other tables for Distinct, Selection, Aggregations. On a high level, we need the following flavors of Table:
   1) Map Based - needed for Group By. This is the current` IndexedTable`
   2) Set Based - needed for Distinct
   3) List Based - needed for Selection
   4) Single Record - needed for Aggregations
   We could perhaps name them as such, once we get more implementations.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org