| :mod:`airflow.contrib.hooks.cassandra_hook` |
| =========================================== |
| |
| .. py:module:: airflow.contrib.hooks.cassandra_hook |
| |
| |
| Module Contents |
| --------------- |
| |
| .. py:class:: CassandraHook(cassandra_conn_id='cassandra_default') |
| |
| Bases: :class:`airflow.hooks.base_hook.BaseHook`, :class:`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. |
| |
| |
| .. method:: get_conn(self) |
| |
| Returns a cassandra Session object |
| |
| |
| |
| |
| .. method:: get_cluster(self) |
| |
| |
| |
| |
| .. method:: shutdown_cluster(self) |
| |
| Closes all sessions and connections associated with this Cluster. |
| |
| |
| |
| |
| .. staticmethod:: get_lb_policy(policy_name, policy_args) |
| |
| |
| |
| |
| .. method:: table_exists(self, table) |
| |
| Checks if a table exists in Cassandra |
| |
| :param table: Target Cassandra table. |
| Use dot notation to target a specific keyspace. |
| :type table: str |
| |
| |
| |
| |
| .. method:: record_exists(self, table, keys) |
| |
| Checks if a record exists in Cassandra |
| |
| :param table: Target Cassandra table. |
| Use dot notation to target a specific keyspace. |
| :type table: str |
| :param keys: The keys and their values to check the existence. |
| :type keys: dict |
| |
| |
| |
| |