This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new c6f863e1b39 Fix provider YAML validation for common SQL analytics
operator (#63393)
c6f863e1b39 is described below
commit c6f863e1b390c860b130e215e36afd48c2f46620
Author: GPK <[email protected]>
AuthorDate: Wed Mar 11 23:44:29 2026 +0000
Fix provider YAML validation for common SQL analytics operator (#63393)
---
.../providers/common/sql/operators/analytics.py | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git
a/providers/common/sql/src/airflow/providers/common/sql/operators/analytics.py
b/providers/common/sql/src/airflow/providers/common/sql/operators/analytics.py
index 0ed922ed986..fd814139ec7 100644
---
a/providers/common/sql/src/airflow/providers/common/sql/operators/analytics.py
+++
b/providers/common/sql/src/airflow/providers/common/sql/operators/analytics.py
@@ -21,11 +21,15 @@ from collections.abc import Sequence
from functools import cached_property
from typing import TYPE_CHECKING, Any, Literal
-from airflow.providers.common.compat.sdk import BaseOperator, Context
-from airflow.providers.common.sql.datafusion.engine import DataFusionEngine
+from airflow.providers.common.compat.sdk import (
+ AirflowOptionalProviderFeatureException,
+ BaseOperator,
+ Context,
+)
if TYPE_CHECKING:
from airflow.providers.common.sql.config import DataSourceConfig
+ from airflow.providers.common.sql.datafusion.engine import DataFusionEngine
class AnalyticsOperator(BaseOperator):
@@ -63,8 +67,17 @@ class AnalyticsOperator(BaseOperator):
self.result_output_format = result_output_format
@cached_property
- def _df_engine(self):
+ def _df_engine(self) -> DataFusionEngine:
if self.engine is None:
+ try:
+ from airflow.providers.common.sql.datafusion.engine import
DataFusionEngine
+ except ModuleNotFoundError as e:
+ if e.name == "datafusion":
+ raise AirflowOptionalProviderFeatureException(
+ "Failed to import DataFusion. To use the
AnalyticsOperator, please install the "
+ "`apache-airflow-providers-common-sql[datafusion]`
extra."
+ ) from e
+ raise
return DataFusionEngine()
return self.engine