airflow.providers.apache.cassandra.hooks.cassandra
¶
This module contains hook to integrate with Apache Cassandra.
Module Contents¶
Classes¶
Hook used to interact with Cassandra. |
Attributes¶
- class airflow.providers.apache.cassandra.hooks.cassandra.CassandraHook(cassandra_conn_id=default_conn_name)[source]¶
Bases:
airflow.hooks.base.BaseHook
,airflow.utils.log.logging_mixin.LoggingMixin
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.