{"id":20932,"library":"apache-airflow-providers-apache-cassandra","title":"Apache Airflow Provider for Apache Cassandra","description":"An Apache Airflow provider package that enables integration with Apache Cassandra, including hooks and operators to interact with Cassandra databases. Current version 3.9.4, released April 2026. Part of the Airflow providers ecosystem with monthly releases following Airflow's release cycle.","status":"active","version":"3.9.4","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/apache/cassandra","tags":["airflow","cassandra","provider","etl"],"install":[{"cmd":"pip install apache-airflow-providers-apache-cassandra","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core Airflow dependency","package":"apache-airflow","optional":false},{"reason":"Required for Cassandra connectivity","package":"cassandra-driver","optional":false}],"imports":[{"note":"Older Airflow versions used airflow.hooks, but providers require the new namespace.","wrong":"from airflow.hooks.cassandra_hook import CassandraHook","symbol":"CassandraHook","correct":"from airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook"},{"note":"Operators moved to providers namespace.","wrong":"from airflow.operators.cassandra_operator import CassandraTableRecordOperator","symbol":"CassandraTableRecordOperator","correct":"from airflow.providers.apache.cassandra.operators.cassandra import CassandraTableRecordOperator"}],"quickstart":{"code":"from airflow import DAG\nfrom airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook\nfrom datetime import datetime\n\nwith DAG('cassandra_test', start_date=datetime(2024,1,1), schedule=None, catchup=False) as dag:\n    def test_hook():\n        hook = CassandraHook(cassandra_conn_id='cassandra_default')\n        session = hook.get_conn()\n        rows = session.execute('SELECT * FROM system.peers')\n        return list(rows)\n\n    print(test_hook())","lang":"python","description":"Quick example demonstrating CassandraHook usage in a DAG."},"warnings":[{"fix":"Update imports to use the new provider path.","message":"In version 3.0.0, the module paths changed from `airflow.contrib.hooks.cassandra_hook` to `airflow.providers.apache.cassandra.hooks.cassandra`. Existing DAGs using the old import will break.","severity":"breaking","affected_versions":"<3.0.0 -> >=3.0.0"},{"fix":"Use `CassandraHook` directly within a PythonOperator.","message":"Several operators like `CassandraTableRecordOperator` are deprecated in favor of plain Python operators with hooks. Check the changelog for details.","severity":"deprecated","affected_versions":">=3.6.0"},{"fix":"Ensure the connection is configured with proper host, port, keyspace, and optionally extra parameters.","message":"Cassandra connection requires specifying `cluster` and `keyspace` in the Airflow connection UI or via environment variables. Missing these leads to cryptic errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Install cassandra-driver: pip install cassandra-driver","message":"The `cassandra-driver` library must be installed separately; it is not included automatically with the provider. Running without it causes ModuleNotFoundError.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to Python 3.7+ or stick with an older provider version.","message":"Starting with provider version 2.0.0, Python 3.6 support was dropped. Users on older Python must upgrade.","severity":"breaking","affected_versions":"<2.0.0 -> >=2.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-apache-cassandra","cause":"Provider package not installed.","error":"ModuleNotFoundError: No module named 'airflow.providers.apache.cassandra'"},{"fix":"Start Cassandra server and verify host/port in Airflow connection 'cassandra_default'.","cause":"Cassandra server is not running or connection details are incorrect.","error":"cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1:9042': 'Connection refused'})"},{"fix":"Change import to: from airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook","cause":"Using old import path from earlier Airflow versions.","error":"AttributeError: module 'airflow.hooks.cassandra_hook' has no attribute 'CassandraHook'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}