Registry /
workflow / apache-airflow-providers-apache-impala
Install & Compatibility
Where this runs
tested against v1.9.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 5.577s · 271.6MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 26.8s · import 5.134s · 266MB
270MB installed
● package 270MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ImpalaHook
✓ from airflow.providers.apache.impala.hooks.impala import ImpalaHook
SQLExecuteQueryOperator
✓ from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator
✗ from airflow.providers.apache.impala.operators.impala import ImpalaOperator
The dedicated ImpalaOperator is deprecated; use the generic SQLExecuteQueryOperator instead for executing SQL queries.
This quickstart demonstrates a simple Airflow DAG that uses the `SQLExecuteQueryOperator` to interact with an Apache Impala database. It includes tasks for creating a table, inserting data, selecting data, and dropping the table. Before running, ensure you have configured an Impala connection in Airflow with the ID `my_impala_conn`.
from __future__ import annotations
import datetime
from airflow import DAG
from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator
# Ensure you have an Airflow connection named 'my_impala_conn'
# with appropriate Impala host, port (default 21050), and credentials.
# Example Extra JSON: {'auth_mechanism': 'NOSASL'}
with DAG(
dag_id="example_impala_dag",
start_date=datetime.datetime(2023, 1, 1),
default_args={
"conn_id": "my_impala_conn", # Airflow connection ID for Impala
"owner": "airflow"
},
schedule="@once",
catchup=False,
tags=["impala", "sql"],
) as dag:
create_table_task = SQLExecuteQueryOperator(
task_id="create_impala_table",
sql="""CREATE TABLE IF NOT EXISTS my_impala_table (id INT, name STRING)"""
)
insert_data_task = SQLExecuteQueryOperator(
task_id="insert_impala_data",
sql="""INSERT INTO my_impala_table VALUES (1, 'Alice'), (2, 'Bob')"""
)
select_data_task = SQLExecuteQueryOperator(
task_id="select_impala_data",
sql="""SELECT COUNT(*) FROM my_impala_table""",
handler=lambda x: print(f"Row count: {x[0][0]}")
)
drop_table_task = SQLExecuteQueryOperator(
task_id="drop_impala_table",
sql="""DROP TABLE IF EXISTS my_impala_table"""
)
(create_table_task >> insert_data_task >> select_data_task >> drop_table_task)
Debug
Known issues
breakingProvider versions have minimum Apache Airflow core version requirements. For provider version 1.9.x, you must be running Airflow 2.11.0 or newer. Installing an incompatible provider version may lead to dependency conflicts or runtime errors.fixEnsure your Airflow core installation meets the minimum version requirement for the Impala provider you intend to use. Upgrade Airflow if necessary.
affects: 1.8.0+, 1.7.0+
deprecatedThe dedicated `ImpalaOperator` is deprecated. Users should migrate to the more generic and flexible `SQLExecuteQueryOperator` from `airflow.providers.common.sql.operators.sql` for executing SQL queries against Impala.fixReplace `ImpalaOperator` imports and usages with `SQLExecuteQueryOperator`.
affects: All versions where `SQLExecuteQueryOperator` is available and preferred.
gotchaThe `ImpalaHook.sqlalchemy_url` property requires the `sqlalchemy` library to be installed. It is an optional dependency for the provider and needs to be installed explicitly via an extra.fixInstall the provider with the `sqlalchemy` extra: `pip install apache-airflow-providers-apache-impala[sqlalchemy]`.
affects: All versions using `sqlalchemy_url`.
breakingSupport for older Python versions has been dropped. Provider 1.9.1 requires Python >=3.10. Older provider versions dropped support for Python 3.9 (e.g., 1.7.1) and Python 3.7.fixEnsure your Python environment is version 3.10 or newer.
affects: 1.7.1+, 1.9.x
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'airflow.providers.apache.impala'
The 'apache-airflow-providers-apache-impala' package is not installed or not found in the Python environment.
fixInstall the package using pip: 'pip install apache-airflow-providers-apache-impala'.
ImportError: cannot import name 'ImpalaHook' from 'airflow.providers.apache.impala.hooks.impala'
The 'ImpalaHook' class is not available in the specified module, possibly due to an outdated package version.
fixEnsure you have the latest version of the package: 'pip install --upgrade apache-airflow-providers-apache-impala'.
AttributeError: module 'airflow.providers.apache.impala.hooks.impala' has no attribute 'ImpalaHook'
The 'ImpalaHook' class is not defined in the module, likely due to a missing or incorrect import.
fixVerify the correct import statement: 'from airflow.providers.apache.impala.hooks.impala import ImpalaHook'.
ValueError: Impala connection failed: [Errno 111] Connection refused
The connection to the Impala server is refused, possibly due to incorrect connection details or server unavailability.
fixCheck the Impala server status and verify the connection parameters in your Airflow configuration.
TypeError: 'NoneType' object is not subscriptable
A variable expected to be a list or dictionary is 'None', often due to a failed database query returning no results.
fixAdd a check to ensure the query result is not 'None' before attempting to access its elements.
Upgrade
Version history
1.9.3latest on PyPI · released Jun 7, 2026
Audit
Dependencies
apache-airflowrequiredCore Airflow dependency; provider version 1.9.x requires Airflow >=2.11.0.
impylarequiredPython client for Impala interaction.
apache-airflow-providers-common-compatoptionalCommon compatibility utilities for providers.
apache-airflow-providers-common-sqloptionalCommon SQL utilities, used by SQLExecuteQueryOperator.
sqlalchemyoptionalRequired for `ImpalaHook.sqlalchemy_url` method.
kerberosoptionalRequired for Kerberos authentication.