/** * This method will prepare the lru cache key and return the same * * @param columnIdentifier * @return */ protected String getLruCacheKey(String columnIdentifier, CacheType cacheType) { return columnIdentifier + CarbonCommonConstants.UNDERSCORE + cacheType.getCacheName(); }
public BloomCoarseGrainDataMapFactory(CarbonTable carbonTable, DataMapSchema dataMapSchema) throws MalformedDataMapCommandException { super(carbonTable, dataMapSchema); Objects.requireNonNull(carbonTable); Objects.requireNonNull(dataMapSchema); this.dataMapName = dataMapSchema.getDataMapName(); List<CarbonColumn> indexedColumns = carbonTable.getIndexedColumns(dataMapSchema); this.bloomFilterSize = validateAndGetBloomFilterSize(dataMapSchema); this.bloomFilterFpp = validateAndGetBloomFilterFpp(dataMapSchema); this.bloomCompress = validateAndGetBloomCompress(dataMapSchema); List<ExpressionType> optimizedOperations = new ArrayList<ExpressionType>(); // todo: support more optimize operations optimizedOperations.add(ExpressionType.EQUALS); optimizedOperations.add(ExpressionType.IN); this.dataMapMeta = new DataMapMeta(this.dataMapName, indexedColumns, optimizedOperations); LOGGER.info(String.format("DataMap %s works for %s with bloom size %d", this.dataMapName, this.dataMapMeta, this.bloomFilterSize)); try { this.cache = CacheProvider.getInstance() .createCache(new CacheType("bloom_cache"), BloomDataMapCache.class.getName()); } catch (Exception e) { LOGGER.error(e); throw new MalformedDataMapCommandException(e.getMessage()); } }