/** * Load the Dimensions, Metrics, and Tables. */ public void load() { dimensionLoader.loadDimensionDictionary(dictionaries.getDimensionDictionary()); // metric loader might dependent on dimension dictionary, so load dimension first metricLoader.loadMetricDictionary(dictionaries.getMetricDictionary(), dictionaries.getDimensionDictionary()); tableLoader.loadTableDictionary(dictionaries); LOG.info("Initialized ConfigurationLoader"); LOG.info(dictionaries.toString()); }
/** * Load a logical table into the logicalDictionary. * <p> * Note: This builds the logical table as well. * * @param logicalTableName The logical table name * @param nameGroup The table group information for the logical table * @param validGrains The accepted grains for the logical table * @param dictionaries The resource dictionaries for reading and storing configuration */ public void loadLogicalTableWithGranularities( String logicalTableName, TableGroup nameGroup, Set<? extends Granularity> validGrains, ResourceDictionaries dictionaries ) { loadLogicalTableWithGranularities( logicalTableName, nameGroup, validGrains, dictionaries.getLogicalDictionary(), dictionaries.getMetricDictionary() ); }
public PhysicalTableDictionary getPhysicalTableDictionary() { return dictionaries.getPhysicalDictionary(); }
public DimensionDictionary getDimensionDictionary() { return dictionaries.getDimensionDictionary(); }
Set<Column> columns = buildColumns(dictionaries.getDimensionDictionary()); Set<String> metricNames = Utils.getSubsetByType(columns, MetricColumn.class).stream() .map(MetricColumn::getName) dictionaries.getPhysicalDictionary() );
public LogicalTableDictionary getLogicalTableDictionary() { return resourceDictionaries.getLogicalDictionary(); } }
public MetricDictionary getMetricDictionary() { return dictionaries.getMetricDictionary(); }
/** * The dictionary of configured dimensions. * * @return A dictionary of dimensions */ default DimensionDictionary getDimensionDictionary() { return getResourceDictionaries().getDimensionDictionary(); }
@Override public ConfigPhysicalTable build(ResourceDictionaries dictionaries, DataSourceMetadataService metadataService) { Map<ConfigPhysicalTable, DataSourceFilter> availabilityFilters = tablePartDefinitions.entrySet().stream() .collect(Collectors.toMap( entry -> dictionaries.getPhysicalDictionary().get(entry.getKey().asName()), entry -> new DimensionIdFilter(toDimensionValuesMap( entry.getValue(), dictionaries.getDimensionDictionary() )) )); return new BaseCompositePhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), availabilityFilters.keySet(), getLogicalToPhysicalNames(), PartitionAvailability.build(availabilityFilters) ); }
public LogicalTableDictionary getLogicalTableDictionary() { return dictionaries.getLogicalDictionary(); }
/** * The dictionary of configured metrics. * * @return A metric dictionary. */ default MetricDictionary getMetricDictionary() { return getResourceDictionaries().getMetricDictionary(); }
/** * Load several logical tables into the logicalDictionary, all with the globally-scoped metric dictionary. * <p> * Note: This builds the logical tables as well. * * @param nameGroupMap A map of logical table name to table group information * @param validGrains The accepted grains for the logical table * @param dictionaries The resource dictionaries for reading and storing configuration */ public void loadLogicalTablesWithGranularities( Map<String, TableGroup> nameGroupMap, Set<? extends Granularity> validGrains, ResourceDictionaries dictionaries ) { loadLogicalTablesWithGranularities( nameGroupMap, validGrains, dictionaries.getLogicalDictionary(), nameGroupMap.keySet().stream() .collect(Collectors.toMap(Function.identity(), i -> dictionaries.getMetricDictionary())) ); }
@Override public ConfigPhysicalTable build(ResourceDictionaries dictionaries, DataSourceMetadataService metadataService) { try { Map<ConfigPhysicalTable, Set<String>> tableMetricNamesMap = getTableToMetricsMap(dictionaries); validateDependentMetrics(tableMetricNamesMap); return new BaseCompositePhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), tableMetricNamesMap.keySet(), getLogicalToPhysicalNames(), MetricUnionAvailability.build( tableMetricNamesMap.keySet(), tableMetricNamesMap.entrySet().stream() .collect(Collectors.toMap( entry -> entry.getKey().getAvailability(), Map.Entry::getValue ))) ); } catch (IllegalArgumentException e) { String message = String.format(VALIDATION_ERROR_FORMAT, e.getMessage()); LOG.error(message); throw new IllegalArgumentException(message); } }
/** * The dictionary of logical tables. * * @return A logical table dictionary */ default LogicalTableDictionary getLogicalTableDictionary() { return getResourceDictionaries().getLogicalDictionary(); } }
); PhysicalTableDictionary physicalTableDictionary = dictionaries.getPhysicalDictionary();
MetricDictionary metricDictionary = dictionaries.getMetricDictionary(); LogicalTableDictionary tableDictionary = dictionaries.getLogicalDictionary(); loadLogicalTablesWithGranularities( logicalTableTableGroup,
@Override public ConfigPhysicalTable build( ResourceDictionaries dictionaries, DataSourceMetadataService metadataService ) { return new PermissivePhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), getLogicalToPhysicalNames(), metadataService ); } }
ResourceDictionaries dictionaries ) { PhysicalTableDictionary physicalTableDictionary = dictionaries.getPhysicalDictionary();
MetricDictionary metricDictionary = dictionaries.getMetricDictionary(); LogicalTableDictionary tableDictionary = dictionaries.getLogicalDictionary(); loadLogicalTablesWithGranularities( logicalTableTableGroup,
@Override public ConfigPhysicalTable build(ResourceDictionaries dictionaries, DataSourceMetadataService metadataService) { return new StrictPhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), getLogicalToPhysicalNames(), metadataService, getExpectedStartDate(), getExpectedEndDate() ); } }