Custom
Last updated
Was this helpful?
Last updated
Was this helpful?
Components that allow to create custom user-defined procedures and SQL queries in your workflows.
Description
This component executes an arbitrary CALL SQL statement.
Use $a and $b as placeholders for the input table names (you can use one, both, or none of them), and $output as placeholder for the output table name.
The procedure that you are calling is responsible for creating the output table in the path stored in the $output variable.
The following is a valid example of code to use in this component:
CALL MY_PROCEDURE($a, 10, `$output`);
$isStoredProcedure
When using the Workflows API, your workflow is executed as a stored procedure within your data warehouse. This changes how tables are handled.
To manage this behavior, we provide the $isStoredProcedure
placeholder. This will be replaced with true
when the workflow is run as a stored procedure. This happens when running workflows.
In stored procedures:
Table names are not fully qualified
Tables are expected to be temporary and session-scoped
Your SQL code should account for this logic to avoid errors when running workflows in API mode.
Here is a sample code for that (notice that no CALL is made in this case, since the component can run any arbitrary SQL code):
Example:
$dryrun
Workflows use a dry run mode to infer and propagate table schemas across components. When executing queries in this mode, you may want to differentiate logic from a standard run.
To handle this, use the $dryrun
placeholder, which is replaced by true
when the workflow is being dry-run (e.g., when clicking "Validate schema").
Example:
Inputs
Source table [Table]
Source table [Table]
SQL CALL statement [String]
Outputs
Result table [Table]
Description
This component runs arbitrary Python code.
Inputs
Source table: Use df_a
in your code to reference a dataframe that contains the data in the input. Use $a
to reference the FQN of the input table in your code.
Source table: Use df_b
in your code to reference a dataframe that contains the data in the input. Use $b
to reference the FQN of the input table in your code.
Source table: Use df_c
in your code to reference a dataframe that contains the data in the input. Use $c
to reference the FQN of the input table in your code.
Settings
Python code: Define your custom python code that will be executed by the component.
Outputs
Output table: Use df_output
in your code to reference a dataframe that contains the data in the output. Use $output
to reference the FQN of the output table in your code.
Description
This component executes an arbitrary SELECT SQL statement.
A new table will be created from the result of the entered statement
Use $a, $b and $c as placeholders for the input table names (you can use one, all, or none of them).
The following is a valid example of code to use in this component, which will generate a new table with an added area column (based on a column named 'geom'), with only the rows corresponding to the five largest geometries:
SELECT *, ST_AREA(geom) AS area FROM `$a` ORDER BY area LIMIT 5
Please avoid trailing semi-colon ;
in your Custom SQL code as it might cause unexpected behavior.
Inputs
Source table [Table]
Source table [Table]
SQL SELECT statement [String]
Outputs
Result table [Table]