airflow.providers.apache.cassandra.hooks.cassandra

此模块包含用于与 Apache Cassandra 集成的 Hook。

属性

策略

CassandraHook

用于与 Cassandra 交互的 Hook。

模块内容

airflow.providers.apache.cassandra.hooks.cassandra.Policy[source]
class airflow.providers.apache.cassandra.hooks.cassandra.CassandraHook(cassandra_conn_id=default_conn_name)[source]

基于: airflow.hooks.base.BaseHook, airflow.utils.log.logging_mixin.LoggingMixin

用于与 Cassandra 交互的 Hook。

联系点可以在连接的“hosts”字段中指定为逗号分隔的字符串。

端口可以在连接的端口字段中指定。

如果在 Cassandra 中启用了 SSL,请在 extra 字段中以 kwargs 的形式传入一个字典,用于 ssl.wrap_socket()。例如

{"ssl_options": {"ca_certs": PATH_TO_CA_CERTS}}

默认的负载均衡策略是 RoundRobinPolicy。要指定不同的 LB 策略

- 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
        }
    }

有关 Cluster 配置的详细信息,请参阅 cassandra.cluster。

conn_name_attr = 'cassandra_conn_id'[source]
default_conn_name = 'cassandra_default'[source]
conn_type = 'cassandra'[source]
hook_name = 'Cassandra'[source]
cluster[source]
keyspace[source]
session = None[source]
get_conn()[source]

返回一个 cassandra Session 对象。

get_cluster()[source]

返回 Cassandra 集群。

shutdown_cluster()[source]

关闭与此 Cluster 相关的所有会话和连接。

static get_lb_policy(policy_name, policy_args)[source]

创建负载均衡策略。

参数
  • policy_name (str) – 要使用的策略名称。

  • policy_args (dict[str, Any]) – 策略的参数。

table_exists(table)[source]

检查 Cassandra 中是否存在表。

参数

table (str) – 目标 Cassandra 表。使用点表示法指定特定的 keyspace。

record_exists(table, keys)[source]

检查 Cassandra 中是否存在记录。

参数
  • table (str) – 目标 Cassandra 表。使用点表示法指定特定的 keyspace。

  • keys (dict[str, str]) – 用于检查记录是否存在的键及其值。

此条目是否有帮助?