Reviewing and testing ELT scripts


Ajilius generates scripts for all interactions with your data warehouse.

Scripts are executable programs that perform the ELT (Extract-Load-Transform) work to build and maintain the warehouse.

In production, scripts are managed by the batch scheduler or by individual program execution. During the design and development of the data warehouse, however, it is useful to be able to view and test the scripts generated by Ajilius.

Scripts are generated in the Groovy language. This is a high-performance scripting language that uses the same Java platform and libraries as the Ajilius application.

We use scripts as the glue around SQL statements (DDL and DML) executed on your data warehouse. If Ajilius was a single-platform product we might have used the stored procedure language associated with that platform (such as T-SQL on SQL Server), but using Groovy’s scripting capabilities gives us a unique combination of high performance, and portability across all supported platforms.

Testing Scripts

You access the scripts for a table by selecting the Scripts option from the table context menu. Here is an example from a Load table:


A screen will then be displayed which generally shows two columns of scripts.


The left-side script contains the DDL (Data Definition Language) to create the table and associated objects.

The right-side script contains the DML (Data Management Language) which specifies the queries to transform your data.

You can scroll up and down to review the entire script.

At the bottom of the screen is an Action Bar containing two or three buttons, depending on the scripts being tested. In the example, above, press the Create button to test the left-side script, and the Load button to test the right-side script.


Following execution of a script, a status message will be shown at the bottom left of the screen:


If an error occurred during the execution of the script, an error message is displayed with a link to more details. Clicking the link will show a pop-up with a more complete error message. In the example, below, we shut down the target SQL Server, causing a connection error to occur:


Remember, running scripts in this way is a design and development task, not a production activity. Script execution in production can be managed without operator intervention of any kind.