https://pinot.apache.org/ logo
Join Slack
Powered by
# order-by
  • k

    Kishore G

    11/07/2019, 1:57 AM
    Only request is to keep the interface as generic as possible across all implementation. Think about chaining tables
  • n

    Neha Pawar

    11/07/2019, 2:09 AM
    havent changed the interface much. Mainly changed the Record
  • n

    Neha Pawar

    11/07/2019, 2:10 AM
    i think this will help in making it more generic
  • k

    Kishore G

    11/07/2019, 2:10 AM
    There are two upsert methods now?
  • n

    Neha Pawar

    11/07/2019, 2:11 AM
    yes. this was the point 4 in this list:
    Copy code
    1. The Table interface will work off of Record class which will just be values.
    2. Remove keys from record so selection/aggr/distinct all can use it.
    3. We will endup having 3 impl Table with K-V (like HashMap), table with Keys (like HashSet), and table with values (like List). The impl's constructor can identify what id's in the Record are keys if needed.
    4. For performance reasons, we might likely end up having two versions for upsert to avoid key generation multiple times.
    5. This is to ensure that the same interface works across all layers in the stack.
  • k

    Kishore G

    11/07/2019, 2:12 AM
    Trying to understand that better.
  • k

    Kishore G

    11/07/2019, 2:12 AM
    Why is key generated outside? Projection should just create the record and add it right?
  • n

    Neha Pawar

    11/07/2019, 2:13 AM
    as of today, we are using Table in the CombineGroupByOrderByOperator, where key is generated by GroupKeyGenerator
  • k

    Kishore G

    11/07/2019, 2:14 AM
    I see, eventually we can simplify that?
  • n

    Neha Pawar

    11/07/2019, 2:14 AM
    yes. we do not know yet how things will look when we push Table into the segment level operator
  • n

    Neha Pawar

    11/07/2019, 2:15 AM
    another upsert might not be needed then
  • n

    Neha Pawar

    11/07/2019, 2:18 AM
    one thing i realized - in the lookup map, we now have
    Key(Object[] keyValues)
    and
    Record(Object[] allvalues)
    . We are using memory for
    keyValues
    twice Previously, it was
    Key(Object[] keyValues)
    and
    Record(Key, Object[] aggregationValues)
    . The Key within the
    Record
    was just a reference to the same
    Key
    object. But now, we have overhead for keys..
  • k

    Kishore G

    11/07/2019, 2:33 AM
    That’s ok for now. If we get the abstraction right, we can optimize further overtime
  • n

    Neha Pawar

    11/07/2019, 5:37 PM
    Jackie and Sidd have reviewed this. Did you also want to look @User and @User: https://github.com/apache/incubator-pinot/pull/4798 ?
  • k

    Kishore G

    11/07/2019, 5:48 PM
    looking into it
  • m

    Mayank

    11/07/2019, 5:56 PM
    Will look at it after GCN
  • n

    Neha Pawar

    11/11/2019, 10:36 PM
    https://github.com/apache/incubator-pinot/pull/4807
  • s

    Sidd

    11/18/2019, 10:31 PM
    https://github.com/apache/incubator-pinot/pull/4790
  • s

    Sidd

    11/18/2019, 10:32 PM
    Made the changes based on the discussion we had earlier around multiple concrete Table implementations coming from BaseTable
  • s

    Sidd

    11/19/2019, 3:46 PM
    <!here> can someone review this?
  • m

    Mayank

    11/19/2019, 5:56 PM
    @User Reviewing now.
  • m

    Mayank

    11/19/2019, 6:11 PM
    Seems OK overall, left a couple of minor comments. @User Since you are introducing the ResultSetter (that handles Distinct), will need to coordinate which PR goes first.
  • s

    Sidd

    11/19/2019, 6:47 PM
    If that PR is still under review (which I think it is) and there are no pending comments on the above PR, then I think we can get this in
  • s

    Sidd

    11/19/2019, 6:47 PM
    @User what do you think?
  • s

    Sidd

    11/20/2019, 1:54 AM
    @User ^^
  • n

    Neha Pawar

    11/20/2019, 2:11 AM
    oh sorry, i thought we discussed offline that yours can go first
  • s

    Sidd

    11/20/2019, 2:18 AM
    Yes, thanks. Do you have any comments? Some committer still needs to approve and merge. Mayank is good with it but didn't approve it
  • n

    Neha Pawar

    11/20/2019, 2:21 AM
    i havent had a chance to look at it with all the oncall stuff
  • k

    Kishore G

    05/23/2020, 3:34 PM
    @User has left the channel
  • j

    Jagannath Timma

    03/28/2022, 4:28 PM
    @User has left the channel