airflow icon indicating copy to clipboard operation
airflow copied to clipboard

Add BteqOperator for Executing Teradata BTEQ Scripts in Airflow

Open sc250072 opened this issue 6 months ago • 0 comments


This PR introduces a new BteqOperator within the Airflow Teradata provider to support the execution of Teradata BTEQ (Basic Teradata Query) scripts as part of Airflow DAGs. The operator enhances integration with Teradata by enabling flexible orchestration of BTEQ-based workloads both locally and remotely via SSH.

🔧 Key Features: ✅ Support for inline SQL statements or external script files (.sql / .bteq).

✅ Local and remote execution modes with optional SSH integration.

✅ Configurable session and file encoding (e.g., UTF-8, UTF-16).

✅ Graceful handling of BTEQ return codes via bteq_quit_rc.

✅ Support for timeout handling, with optional continuation on timeout using timeout_rc.

✅ Built-in support for templated parameters via Jinja.

🛠️ Additional Enhancements: Includes utility functions for:

File validation and encoding checks

Script preparation for remote/local execution

Robust error handling and comprehensive logging

Teradata Provider System Health Dashboard: https://teradata.github.io/airflow/

Teradata Provider documentation build status: https://github.com/Teradata/airflow/actions/runs/15688902771

Teradata Provider Unit tests build status: https://github.com/Teradata/airflow/actions/runs/15688585657

^ Add meaningful description above Read the Pull Request Guidelines for more information. In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed. In case of a new dependency, check compliance with the ASF 3rd Party License Policy. In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

sc250072 avatar Jun 16 '25 18:06 sc250072