[
https://issues.apache.org/jira/browse/LENS-974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867660#comment-15867660
]
Rajat Khandelwal commented on LENS-974:
---------------------------------------
Second way is to use internal recursion. In this, each resolver will do its own
work on all candidates, which includes storage candidates, join/union
candidates, segmentation candidates and their combinations. This says that each
segmentation candidate will have its own cube query context object. Each
resolver will do its own work first as it's doing so far. But it'll also do the
same work recursively on the cube query context objects inside all segmentation
candidates remaining so far. So the black box keeps exploding a little in each
phase, but never completely. Secondly, the loop invariant for the resolvers is
maintained -- After running `r1`, all the candidates remaining are valid
candidates according to the conditions checked so far; before running `r2`,
`r2` gets all `valid candidates so far` and not more. This might be
significantly slower than the first, since there are always equal or more
candidates to check in each resolver than happening currently. Plus, each
resolver will have extra code. Another downside is, that there will be a lot of
`instanceof` checks for processing a candidate.
> Add cube-segmentation for base cube
> -----------------------------------
>
> Key: LENS-974
> URL: https://issues.apache.org/jira/browse/LENS-974
> Project: Apache Lens
> Issue Type: New Feature
> Components: cube
> Reporter: Sushil Mohanty
>
> With cube segmentation a cube can have multiple cubes and all these child
> cubes together will make the cube complete.
> CubeSegmentation and CubeFactTable will sit together, which means it can
> belong to only one base cube. A base cube can have one or more cube
> segmentations. Fields of segmentation will be intersection of all columns of
> its cubes. Segmentation will have weight to compare with its buddies (facts
> or other segmentations). Also it can have start and end time defined or it
> can derive from its underline facts.
> eg:
> base_cube
> |_fact1
> |_fact2
> |_cube_segment1
> |_cube1
> |_fact_11
> |_fact_12
> ...
> ...
> |_cube_segment2
> |_cube2
> |_fact_21
> |_fact_22
> ...
> ...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)