Stores credentials used to authenticate to a Cassandra cluster and uses them to configure a Cassandra connection.
Stores credentials used to authenticate to a Cassandra cluster and uses them
to configure a Cassandra connection.
This driver provides implementations NoAuthConf for no authentication
and PasswordAuthConf for password authentication. Other authentication
configurators can be plugged in by setting cassandra.authentication.conf.factory.class
option. See AuthConfFactory.
Obtains authentication configuration by reading SparkConf object.
Creates both native and Thrift connections to Cassandra.
Creates both native and Thrift connections to Cassandra.
The connector provides a DefaultConnectionFactory.
Other factories can be plugged in by setting spark.cassandra.connection.factory
option.
Provides and manages connections to Cassandra.
Provides and manages connections to Cassandra.
A CassandraConnector
instance is serializable and
can be safely sent over network,
because it automatically reestablishes the connection
to the same cluster after deserialization. Internally it saves
a list of all nodes in the cluster, so a connection can be established
even if the host given in the initial config is down.
Multiple CassandraConnector
s in the same JVM connected to the same
Cassandra cluster will share a single underlying Cluster
object.
CassandraConnector
will close the underlying Cluster
object automatically
whenever it is not used i.e. no Session
or Cluster
is open for longer
than spark.cassandra.connection.keepAliveMS
property value.
A CassandraConnector
object is configured from CassandraConnectorConf object which
can be either given explicitly or automatically configured from SparkConf.
The connection options are:
spark.cassandra.connection.host
: contact points to connect to the Cassandra cluster, defaults to spark master hostspark.cassandra.connection.port
: Cassandra native port, defaults to 9042spark.cassandra.connection.factory
: name of a Scala module or class implementing CassandraConnectionFactory that allows to plugin custom code for connecting to Cassandraspark.cassandra.connection.keepAliveMS
: how long to keep unused connection before closing it (default 250 ms)spark.cassandra.connection.timeoutMS
: how long to wait for connection to the Cassandra cluster (default 5 s)spark.cassandra.connection.reconnectionDelayMS.min
: initial delay determining how often to try to reconnect to a dead node (default 1 s)spark.cassandra.connection.reconnectionDelayMS.max
: final delay determining how often to try to reconnect to a dead node (default 60 s)spark.cassandra.auth.username
: login for password authenticationspark.cassandra.auth.password
: password for password authenticationspark.cassandra.auth.conf.factory
: name of a Scala module or class implementing AuthConfFactory that allows to plugin custom authentication configurationspark.cassandra.query.retry.count
: how many times to reattempt a failed query (default 10)spark.cassandra.read.timeoutMS
: maximum period of time to wait for a read to returnspark.cassandra.connection.ssl.enabled
: enable secure connection to Cassandra clusterspark.cassandra.connection.ssl.trustStore.path
: path for the trust store being usedspark.cassandra.connection.ssl.trustStore.password
: trust store passwordspark.cassandra.connection.ssl.trustStore.type
: trust store type (default JKS)spark.cassandra.connection.ssl.protocol
: SSL protocol (default TLS)spark.cassandra.connection.ssl.enabledAlgorithms
: SSL cipher suites (default TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA)
Stores configuration of a connection to Cassandra.
Stores configuration of a connection to Cassandra. Provides information about cluster nodes, ports and optional credentials for authentication.
A Cassandra column metadata that can be serialized.
Abstract column / field definition.
Abstract column / field definition. Common to tables and user-defined types
Cassandra Index Metadata that can be serialized *
A Cassandra keyspace metadata that can be serialized.
Selects local node first and then nodes in local DC in random order.
Selects local node first and then nodes in local DC in random order. Never selects nodes from other DCs. For writes, if a statement has a routing key set, this LBP is token aware - it prefers the nodes which are replicas of the computed token to the other nodes.
Always retries with the same CL (null forces the original statement CL see SPARKC-494), constant number of times, regardless of circumstances
Always retries with the same CL (null forces the original statement CL see SPARKC-494), constant number of times, regardless of circumstances
Retries indefinitely if maxRetryCount is -1
Performs plain-text password authentication.
Performs plain-text password authentication. Use with PasswordAuthenticator
in Cassandra.
Atomically counts references to objects of any type
A lockless cache that caches values for multiple users and destroys them once all users release them.
A lockless cache that caches values for multiple users and destroys them once all users release them. One value can be associated with many keys. Useful for sharing a costly resource.
Associates given statement with a set of replica addresses.
Associates given statement with a set of replica addresses. It is meant to be interpreted by LoadBalancingPolicy implementations, like LocalNodeFirstLoadBalancingPolicy.
Object which will be used in Table Scanning Operations.
Object which will be used in Table Scanning Operations. One Scanner will be created per Spark Partition, it will be created at the beginning of the compute method and Closed at the end of the compute method.
Wraps a Session
and intercepts:
Wraps a Session
and intercepts:
close
method to invoke afterClose
handlerprepare
methods to cache PreparedStatement
objects.Cassandra structure that contains columnar information, e.g.
Cassandra structure that contains columnar information, e.g. a table or a user defined type.
This trait allows ColumnMapper
to work on tables and user defined types.
Cassandra tables and user defined types are similar in a way data are extracted from them,
therefore a common interface to describe their metadata is handy.
A Cassandra table metadata that can be serialized.
Entry point for obtaining AuthConf
object from SparkConf, used when establishing connections to Cassandra.
Entry point for obtaining AuthConf
object from SparkConf, used when establishing connections to Cassandra.
The actual AuthConf
creation is delegated to the AuthConfFactory pointed by spark.cassandra.auth.conf.factory
property.
Entry point for obtaining CassandraConnectionFactory
object from SparkConf,
used when establishing connections to Cassandra.
A factory for CassandraConnectorConf objects.
A factory for CassandraConnectorConf objects. Allows for manually setting connection properties or reading them from SparkConf object. By embedding connection information in SparkConf, SparkContext can offer Cassandra specific methods which require establishing connections to a Cassandra cluster.
Default AuthConfFactory
that supports no authentication or password authentication.
Default AuthConfFactory
that supports no authentication or password authentication.
Password authentication is enabled when both spark.cassandra.auth.username
and spark.cassandra.auth.password
options are present in SparkConf.
Performs no authentication.
Performs no authentication. Use with AllowAllAuthenticator
in Cassandra.
Performs no authentication.
Performs no authentication. Use with AllowAllAuthenticator
in Cassandra.
Caches prepared statements so they are not prepared multiple times by different threads.
Contains a cql.CassandraConnector object which is used to connect to a Cassandra cluster and to send CQL statements to it.
CassandraConnector
provides a Scala-idiomatic way of working withCluster
andSession
object and takes care of connection pooling and proper resource disposal.