*CuboidScheduler* creates a spanning tree according to aggregation groups. And build process executes the spanning tree top down.
In practice, we try to stay with one group as much as possible. A new cube often starts with a lot of dimensions and multiple aggregation groups. Then we negotiate with user, clarify what they really need, then chop off the unnecessary. Apply hierarchy and derived where appropriate. The final dimensions often being around ten and can fit in one group. Cheers Yang On Sat, Apr 11, 2015 at 2:33 PM, [email protected] <[email protected]> wrote: > Thanks Yang for useful guide. Gotcha that String [2][3] shall goes to 2 > groups of dimension-group which contains 3 dimensions each, right ? > > One more question : how the tradeoff be fulfilled in the source code ? How > many aggregation groups would be appropriate for actual cude building ? > > Best regards, > Sun. > > > [email protected] > > From: Li Yang > Date: 2015-04-11 08:17 > To: dev > Subject: Re: Re: RowKeyDesc aggregationGroups > In a nut shell, aggregation group is a tool define partial cubes. > nFull Cube > nPre-aggregate all dimension combinations > n“Curse of dimensionality”: N dimension cube has 2N cuboid. > n > nPartial Cube > nTo avoid dimension explosion, we divide the dimensions into different > aggregation groups > n2N+M+L à 2N + 2M + 2L > nFor cube with 30 dimensions, if we divide these dimensions into 3 group, > the cuboid number will reduce from 1 Billion to 3 Thousands > n230 à 210 + 210 + 210 > nTradeoff between online aggregation and offline pre-aggregation > > > More info can be found here: > http://www.slideshare.net/YangLi43/design-cube-in-apache-kylin > > Cheers > > On Fri, Apr 10, 2015 at 3:28 PM, [email protected] <[email protected]> > wrote: > > > Hi, > > > > Recently adding to this mailing list. > > > > Should be good if can see some offical FAQ : ) > > > > Best, > > Sun. > > > > > > > > [email protected] > > > > From: hongbin ma > > Date: 2015-04-10 15:23 > > To: dev > > Subject: Re: RowKeyDesc aggregationGroups > > @yang > > > > i remember you had a standard answer to this question. > > shall we put it into FAQ? > > > > On Fri, Apr 10, 2015 at 3:21 PM, [email protected] <[email protected]> > > wrote: > > > > > Hi, team > > > > > > Digging into kylin cube build engine and interested in rowkey build > > > schema. One question: > > > > > > What does the aggregationGroups actually mean? Why it should be > declared > > > as 2-dimension array of String ? > > > > > > Hope for some expert guide. > > > > > > Thanks, > > > Sun. > > > > > > > > > > > > [email protected] > > > > > > > > > -- > > Regards, > > > > *Bin Mahone | 马洪宾* > > Apache Kylin: http://kylin.io > > Github: https://github.com/binmahone > > >
