CassandraHook

Apache Cassandra

Hook used to interact with Cassandra

View on GitHub

Last Updated: Oct. 23, 2022

Access Instructions

Install the Apache Cassandra provider package into your Airflow environment.

Import the module into your DAG file and instantiate it with your desired params.

Documentation

Hook used to interact with Cassandra

Contact points can be specified as a comma-separated string in the ‘hosts’ field of the connection.

Port can be specified in the port field of the connection.

If SSL is enabled in Cassandra, pass in a dict in the extra field as kwargs for ssl.wrap_socket(). For example:

{
'ssl_options' : {
'ca_certs' : PATH_TO_CA_CERTS
}
}

Default load balancing policy is RoundRobinPolicy. To specify a different LB policy:

- DCAwareRoundRobinPolicy
{
'load_balancing_policy': 'DCAwareRoundRobinPolicy',
'load_balancing_policy_args': {
'local_dc': LOCAL_DC_NAME, // optional
'used_hosts_per_remote_dc': SOME_INT_VALUE, // optional
}
}
- WhiteListRoundRobinPolicy
{
'load_balancing_policy': 'WhiteListRoundRobinPolicy',
'load_balancing_policy_args': {
'hosts': ['HOST1', 'HOST2', 'HOST3']
}
}
- TokenAwarePolicy
{
'load_balancing_policy': 'TokenAwarePolicy',
'load_balancing_policy_args': {
'child_load_balancing_policy': CHILD_POLICY_NAME, // optional
'child_load_balancing_policy_args': { ... } // optional
}
}

For details of the Cluster config, see cassandra.cluster.

Was this page helpful?