airflow.contrib.hooks.cassandra_hook
¶
Module Contents¶
-
class
airflow.contrib.hooks.cassandra_hook.
CassandraHook
(cassandra_conn_id='cassandra_default')[source]¶ Bases:
airflow.hooks.base_hook.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.