{"id":20934,"library":"apache-airflow-providers-exasol","title":"Apache Airflow Provider for Exasol","description":"Airflow provider package that integrates Exasol as a data source/sink via Exasol hooks and operators. Current version is 4.10.2, requires Python >=3.10, and is part of the Airflow providers ecosystem. Release cadence is irregular, often with minor version bumps for Airflow core compatibility.","status":"active","version":"4.10.2","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/exasol","tags":["airflow-provider","exasol","hooks","operators","etl"],"install":[{"cmd":"pip install apache-airflow-providers-exasol","lang":"bash","label":"Default install"}],"dependencies":[{"reason":"Required provider runtime","package":"apache-airflow","optional":false},{"reason":"Python driver for Exasol database","package":"pyexasol","optional":false}],"imports":[{"note":"Old import path from Airflow 1.x; removed in Airflow 2+","wrong":"from airflow.hooks.exasol_hook import ExasolHook","symbol":"ExasolHook","correct":"from airflow.providers.exasol.hooks.exasol import ExasolHook"},{"note":"Legacy import path; no longer valid","wrong":"from airflow.operators.exasol_operator import ExasolOperator","symbol":"ExasolOperator","correct":"from airflow.providers.exasol.operators.exasol import ExasolOperator"}],"quickstart":{"code":"from airflow import DAG\nfrom airflow.providers.exasol.operators.exasol import ExasolOperator\nfrom datetime import datetime\n\nwith DAG(\n    dag_id='exasol_example',\n    start_date=datetime(2024, 1, 1),\n    schedule=None,\n    catchup=False\n) as dag:\n    run_query = ExasolOperator(\n        task_id='run_query',\n        exasol_conn_id='exasol_default',\n        sql='SELECT 1;'\n    )","lang":"python","description":"Minimal DAG that executes a query on Exasol using the ExasolOperator."},"warnings":[{"fix":"Update imports to use the `airflow.providers.exasol.*` namespace.","message":"Airflow 2.0 dropped support for legacy hooks/operators located under `airflow.hooks.*` and `airflow.operators.*`. All Exasol providers must be imported from `airflow.providers.exasol.*`.","severity":"breaking","affected_versions":">=2.0"},{"fix":"Upgrade Airflow to 2.6.0+ and Python to 3.10+.","message":"Provider version 4.0.0 dropped support for Airflow versions <2.6.0 and Python <3.10.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"In the Airflow connection UI, set Extras to {\"schema\": \"your_schema\"}.","message":"The Exasol connection must include a `schema` parameter in the extras (as JSON) unless the default schema is acceptable. Missing schema can cause 'Schema not set' errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Ensure your environment has `pyexasol` installed (it is a dependency). Use `ExasolHook` for connection management.","message":"The `ExasolOperator` now uses the `pyexasol` library. Older `ExasolConnection` usage is deprecated.","severity":"deprecated","affected_versions":">=3.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run `pip install apache-airflow-providers-exasol` and ensure Airflow >=2.6.0.","cause":"Provider package not installed or Airflow version too old.","error":"ModuleNotFoundError: No module named 'airflow.providers.exasol'"},{"fix":"Verify the connection details (host, port, use_tls) in your Airflow connection.","cause":"Incorrect host, port, or network connectivity to Exasol database.","error":"pyexasol.exceptions.ExaCommunicationError: Communication error: could not connect to host"},{"fix":"Use `ExasolOperator(sql='SELECT 1')`.","cause":"Misspelled parameter; the correct parameter is `sql` not `query`.","error":"AttributeError: 'ExasolOperator' object has no attribute 'sql'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}