Partial reload
A full reload always starts by deleting all tables in the existing data model, and then runs the load script.
Partial reloads are not supported with load scripts for scripts. For information on scripts, see Working with scripts in the catalog.
A partial reload will not do this. Instead it keeps all tables in the data model and then executes only Load and Select statements preceded by an Add, Merge, or Replace prefix. Other data tables are not affected by the command. The only argument denotes that the statement should be executed only during partial reloads, and should be disregarded during full reloads. The following table summarizes statement execution for partial and full reloads.
Statement | Full reload | Partial reload |
---|---|---|
Load ... | Statement will run | Statement will not run |
Add/Replace/Merge Load ... | Statement will run | Statement will run |
Add/Replace/Merge Only Load ... | Statement will not run | Statement will run |
Partial reloads have several benefits compared to full reloads:
-
Faster, because only data recently changed needs to be loaded. With large data sets the difference is significant.
-
Less memory is consumed, because less data is loaded.
-
More reliable, because queries to source data run faster, reducing the risk of network problems.
Perform a partial reload using the Reload button. For more information, see Button. You can also use the Qlik Engine JSON API.
To perform a partial reload on a schedule, click on an app and then choose Schedule reload. In the dialog box that opens, turn on Partial reload.
Limitations
A partial reload will fail if there are commands with references to tables that existed during full reload, but not during partial reload.
A partial reload can remove values from the data. However, this will not be reflected in the list of distinct values, which is a table maintained internally. So, after a partial reload, the list will contain all distinct values that have existed in the field since the last full reload, which may be more than what currently exists after the partial reload. This affects the output of the FieldValueCount() and the FieldValue() functions. The FieldValueCount() could potentially return a number greater than the current number of field values.