Skip to content

Conversation

@sc250072
Copy link
Contributor


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 and others added 6 commits June 16, 2025 19:51
BTEQ (Basic Teradata Query) is a command-line utility provided by Teradata for interacting with Teradata databases. The BteqOperator is designed to provide flexible and robust execution of Teradata SQL Statements and BTEQ script/SQL file using the BTEQ command-line utility within Airflow DAGs
@potiuk potiuk merged commit 32e1f2e into apache:main Jun 21, 2025
71 checks passed
RoyLee1224 pushed a commit to RoyLee1224/airflow that referenced this pull request Jun 21, 2025
…he#51807)

* Add BteqOperator for Executing Teradata BTEQ Scripts in Airflow (apache#58)

BTEQ (Basic Teradata Query) is a command-line utility provided by Teradata for interacting with Teradata databases. The BteqOperator is designed to provide flexible and robust execution of Teradata SQL Statements and BTEQ script/SQL file using the BTEQ command-line utility within Airflow DAGs

* system test failure fixed

* unit tests issues fixed

* unit tests issues fixed

* As per airflow recommendation, removed usage of Caplog

* airflow workflow issue fixed

* Documentation is improved

---------

Co-authored-by: Satish Ch <satishchinthanippu@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants