Configuring Model Settings
Model settings enable you to control the behavior of individual AtScale models.
Model settings are defined in the model_settings.yml
file. You can have one model settings file per repository. Any settings defined in this file override their counterparts at the global level.
The model settings files are stored at the root level of your catalog repositories, similar to catalog files. You can only have one model settings file per catalog repository.
Model settings files can only be accessed, edited, and applied by users with either the admin
or the application_admin
role in the Identity Broker. For more information on roles in AtScale, including instructions on assigning them, see Managing Users with the Identity Broker.
Creating a model settings file
To create a model settings file:
- Open the Workspace panel and switch to the repository you want to define model settings for.
- Click the new object icon and select Model_settings.yml.
The model_settings.yml
file appears in the Workspace panel, at the root level of the repository.
Next, you can define the model settings and apply them.
Defining and applying model settings
Before performing this procedure, ensure that the catalog and models you are defining settings for are deployed.
To modify model settings:
- In Design Center, open the Workspace panel and switch to the repository you want to modify model settings for.
- Open the
model_settings.yml
file and edit your settings as needed. See the model settings file reference below. - Save the file.
- In the Workspace panel, click the context menu for the file and select Apply Model Settings.
The settings are applied to the specified models.
Model settings file reference
The model settings file supports the following properties.
object_type
- Type: const
- Required: Y
The type of object defined by the file. For model settings files, the value of this property must be model_settings
.
overrides
- Type: array
- Required: N
Defines the setting overrides to apply to the individual models in the catalog. Each setting must have the following syntax: “setting.name”: value
. For example:
object_type: model_settings
overrides:
model1:
"query.factless.ignoreIncidentalFilter": false
"query.factless.useIncidentalFacts": false
"AGGREGATES.CREATE.JOINS.ENABLED": true
model2:
"AGGREGATES.CREATE.JOINS.ENABLED": true
Some settings can have a significant impact on down-stream systems. For example, increasing the number of aggregates for a model by overriding aggregates.systemGenerated.activeInstance.retentionLimit
can increase the workload on a data warehouse. Before changing such settings, it is recommended that you check their values across all models that share the same data warehouse.