private List<ExtendedBlocklet> intersectFilteredBlocklets(CarbonTable carbonTable, List<ExtendedBlocklet> previousDataMapPrunedBlocklets, List<ExtendedBlocklet> otherDataMapPrunedBlocklets) { List<ExtendedBlocklet> prunedBlocklets = null; if (BlockletDataMapUtil.isCacheLevelBlock(carbonTable)) { prunedBlocklets = new ArrayList<>(); for (ExtendedBlocklet otherBlocklet : otherDataMapPrunedBlocklets) { if (previousDataMapPrunedBlocklets.contains(otherBlocklet)) { prunedBlocklets.add(otherBlocklet); } } } else { prunedBlocklets = (List) CollectionUtils .intersection(otherDataMapPrunedBlocklets, previousDataMapPrunedBlocklets); } return prunedBlocklets; }
/** * create dataMap based on cache level * * @param carbonTable * @return */ public static DataMap createDataMap(CarbonTable carbonTable) { boolean cacheLevelBlock = BlockletDataMapUtil.isCacheLevelBlock(carbonTable); if (cacheLevelBlock) { // case1: when CACHE_LEVEL = BLOCK return new BlockDataMap(); } else { // case2: when CACHE_LEVEL = BLOCKLET return new BlockletDataMap(); } }