public static String getPartitionInfoKeyPrefix(UpdatePeriod updatePeriod, String partCol) { return STORAGE_PFX + PARTITION_TIMELINE_CACHE + updatePeriod.getName() + "." + partCol + "."; }
public static String getPartitionInfoKeyPrefix(UpdatePeriod updatePeriod, String partCol) { return STORAGE_PFX + PARTITION_TIMELINE_CACHE + updatePeriod.getName() + "." + partCol + "."; }
private void addStorageTableProperties(String name, Map<String, String> properties, Map<String, Map<UpdatePeriod, String>> storageUpdatePeriodMap) { for (String storageName : storageUpdatePeriodMap.keySet()) { String prefix = MetastoreUtil.getFactKeyPrefix(name) + "." + storageName; for (Map.Entry updatePeriodEntry : storageUpdatePeriodMap.get(storageName).entrySet()) { String updatePeriod = ((UpdatePeriod) updatePeriodEntry.getKey()).getName(); properties.put(prefix + "." + updatePeriod, (String) updatePeriodEntry.getValue()); } } }
private void addStorageTableProperties(String name, Map<String, String> properties, Map<String, Map<UpdatePeriod, String>> storageUpdatePeriodMap) { for (String storageName : storageUpdatePeriodMap.keySet()) { String prefix = MetastoreUtil.getFactKeyPrefix(name) + "." + storageName; for (Map.Entry updatePeriodEntry : storageUpdatePeriodMap.get(storageName).entrySet()) { String updatePeriod = ((UpdatePeriod) updatePeriodEntry.getKey()).getName(); properties.put(prefix + "." + updatePeriod, (String) updatePeriodEntry.getValue()); } } }
private Map<String, Map<UpdatePeriod, String>> getUpdatePeriodMap(String factName, Map<String, String> props) { Map<String, Map<UpdatePeriod, String>> ret = new HashMap<>(); for (Map.Entry<String, Set<UpdatePeriod>> entry : storageUpdatePeriods.entrySet()) { String storage = entry.getKey(); for (UpdatePeriod period : entry.getValue()) { String storagePrefixKey = MetastoreUtil .getUpdatePeriodStoragePrefixKey(factName.trim(), storage, period.getName()); String storageTableNamePrefix = props.get(storagePrefixKey); if (storageTableNamePrefix == null) { storageTableNamePrefix = storage; } ret.computeIfAbsent(storage, k -> new HashMap<>()).put(period, storageTableNamePrefix); } } return ret; }
private Map<String, Map<UpdatePeriod, String>> getUpdatePeriodMap(String factName, Map<String, String> props) { Map<String, Map<UpdatePeriod, String>> ret = new HashMap<>(); for (Map.Entry<String, Set<UpdatePeriod>> entry : storageUpdatePeriods.entrySet()) { String storage = entry.getKey(); for (UpdatePeriod period : entry.getValue()) { String storagePrefixKey = MetastoreUtil .getUpdatePeriodStoragePrefixKey(factName.trim(), storage, period.getName()); String storageTableNamePrefix = props.get(storagePrefixKey); if (storageTableNamePrefix == null) { storageTableNamePrefix = storage; } ret.computeIfAbsent(storage, k -> new HashMap<>()).put(period, storageTableNamePrefix); } } return ret; }
/** * Drop a storage from the fact * * @param storage */ void dropStorage(String storage) { storageUpdatePeriods.remove(storage); String prefix = MetastoreUtil.getFactKeyPrefix(getName()) + "." + storage; for (Map.Entry updatePeriodEntry : storagePrefixUpdatePeriodMap.get(storage).entrySet()) { String updatePeriod = ((UpdatePeriod)updatePeriodEntry.getKey()).getName(); getProperties().remove(prefix + "." + updatePeriod); } storagePrefixUpdatePeriodMap.remove(storage); getProperties().remove(MetastoreUtil.getFactUpdatePeriodKey(getName(), storage)); String newStorages = StringUtils.join(storageUpdatePeriods.keySet(), ","); getProperties().put(MetastoreUtil.getFactStorageListKey(getName()), newStorages); }
/** * Drop a storage from the fact * * @param storage */ void dropStorage(String storage) { storageUpdatePeriods.remove(storage); String prefix = MetastoreUtil.getFactKeyPrefix(getName()) + "." + storage; for (Map.Entry updatePeriodEntry : storagePrefixUpdatePeriodMap.get(storage).entrySet()) { String updatePeriod = ((UpdatePeriod)updatePeriodEntry.getKey()).getName(); getProperties().remove(prefix + "." + updatePeriod); } storagePrefixUpdatePeriodMap.remove(storage); getProperties().remove(MetastoreUtil.getFactUpdatePeriodKey(getName(), storage)); String newStorages = StringUtils.join(storageUpdatePeriods.keySet(), ","); getProperties().put(MetastoreUtil.getFactStorageListKey(getName()), newStorages); }
public static Map<String, String> getWhereForDailyAndHourly2daysWithTimeDim(String cubeName, String timedDimension, Date from, Date to, String... storageTables) { Map<String, String> storageTableToWhereClause = new LinkedHashMap<>(); if (storageToUpdatePeriodMap.isEmpty()) { String whereClause = getWhereForDailyAndHourly2daysWithTimeDim(cubeName, timedDimension, from, to); storageTableToWhereClause.put(getStorageTableString(storageTables), whereClause); } else { for (String tbl : storageTables) { for (UpdatePeriod updatePeriod : storageToUpdatePeriodMap.get(tbl)) { String whereClause = getWhereForDailyAndHourly2daysWithTimeDimUnionQuery(cubeName, timedDimension, from, to) .get(updatePeriod.getName()); storageTableToWhereClause.put(getStorageTableString(tbl), whereClause); } } } return storageTableToWhereClause; }
String table = entry.getKey(); for (UpdatePeriod updatePeriod : entry.getValue()) { String uperiod = updatePeriod.getName(); if (table.equals(storageTable) && updatePeriodToPart.containsKey(uperiod)) { unionParts.addAll(updatePeriodToPart.get(uperiod));