Skip to main content

Build a templatized data pipeline

Applications are powerful, reusable sub-flows that bundle multiple Components into a single visual unit within your Flow Graph. They allow you to package complex logic into modular, reusable building blocks that simplify your data pipelines.

This guide shows you how to create reusable data transformations using Ascend's Simple Application. The Simple Application is a pre-built Ascend solution that enables you to define parameterized Transforms with Jinja templating, creating flexible and maintainable data pipelines.

Want to learn more about Ascend-native Applications? Check out this concept guide.

Build a Simple Application​

The Simple Application uses SQL or Python templates (or both) with Jinja to create parameterized Components. This guide demonstrates both approaches.

This implementation uses SQL templates to build a straightforward filtering Application.

Set up your project structure​

Create a template directory structure in your project to organize your SQL templates:

my_project/
├── templates/
│ └── flows/
│ └── basic_filter/
│ └── filter.sql

Create your SQL template​

Add a .sql file with placeholders for parameters:

filter.sql
SELECT *
FROM {{ ref(input_table) }}
WHERE {{ filter_column }} > {{ filter_value }}
LIMIT {{ row_limit }}

Configure the Application​

Create a YAML configuration file that references the SQL template and defines parameter values:

basic_filter.yaml
component:
application:
application_id: simple # Simple Application
config:
template_path: templates/flows/basic_filter # Directory with your templates
parameters:
input_table: YOUR_INPUT_TABLE
filter_column: YOUR_COLUMN_NAME
filter_value: 100
row_limit: 1000

When Ascend processes this configuration, it generates a SQL Transform Component that filters your data based on the specified parameters.

🎉 Congratulations! You've successfully created a Simple Application that can be reused across different datasets and scenarios.