com.datastax.spark.connector

cql

package cql

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 with Cluster and Session object and takes care of connection pooling and proper resource disposal.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. cql
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait AuthConf extends Serializable

    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.

  2. trait AuthConfFactory extends AnyRef

    Obtains authentication configuration by reading SparkConf object.

  3. trait CassandraClientProxy extends Iface

    Extends Cassandra.Iface with close method to close the underlying thrift transport

  4. trait CassandraConnectionFactory extends Serializable

    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.

  5. class CassandraConnector extends Serializable with Logging

    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 CassandraConnectors 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.keep_alive_ms 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 point to connect to the Cassandra cluster, defaults to spark master host
    • spark.cassandra.connection.rpc.port: Cassandra thrift port, defaults to 9160
    • spark.cassandra.connection.native.port: Cassandra native port, defaults to 9042
    • spark.cassandra.connection.factory: name of a Scala module or class implementing CassandraConnectionFactory that allows to plugin custom code for connecting to Cassandra
    • spark.cassandra.connection.keep_alive_ms: how long to keep unused connection before closing it (default 250 ms)
    • spark.cassandra.connection.timeout_ms: how long to wait for connection to the Cassandra cluster (default 5 s)
    • spark.cassandra.connection.reconnection_delay_ms.min: initial delay determining how often to try to reconnect to a dead node (default 1 s)
    • spark.cassandra.connection.reconnection_delay_ms.max: final delay determining how often to try to reconnect to a dead node (default 60 s)
    • spark.cassandra.auth.username: login for password authentication
    • spark.cassandra.auth.password: password for password authentication
    • spark.cassandra.auth.conf.factory: name of a Scala module or class implementing AuthConfFactory that allows to plugin custom authentication configuration
    • spark.cassandra.query.retry.count: how many times to reattempt a failed query (default 10)
    • spark.cassandra.connection.ssl.enabled: enable secure connection to Cassandra cluster
    • spark.cassandra.connection.ssl.trustStore.path: path for the trust store being used
    • spark.cassandra.connection.ssl.trustStore.password: trust store password
    • spark.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)
  6. case class CassandraConnectorConf(hosts: Set[InetAddress], nativePort: Int = ..., rpcPort: Int = ..., authConf: AuthConf = NoAuthConf, localDC: Option[String] = None, keepAliveMillis: Int = ..., minReconnectionDelayMillis: Int = ..., maxReconnectionDelayMillis: Int = ..., compression: Compression = ..., queryRetryCount: Int = ..., connectTimeoutMillis: Int = ..., readTimeoutMillis: Int = ..., connectionFactory: CassandraConnectionFactory = DefaultConnectionFactory, cassandraSSLConf: CassandraSSLConf = ...) extends Product with Serializable

    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.

  7. case class ClusteringColumn(index: Int) extends ColumnRole with Product with Serializable

  8. case class ColumnDef(columnName: String, columnRole: ColumnRole, columnType: ColumnType[_], indexed: Boolean = false) extends Product with Serializable

    A Cassandra column metadata that can be serialized.

  9. sealed trait ColumnRole extends AnyRef

  10. case class KeyspaceDef(keyspaceName: String, tables: Set[TableDef]) extends Product with Serializable

    A Cassandra keyspace metadata that can be serialized.

  11. class LocalNodeFirstLoadBalancingPolicy extends LoadBalancingPolicy with Logging

    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.

  12. class MultipleRetryPolicy extends RetryPolicy

    Always retries with the same CL, constant number of times, regardless of circumstances

  13. case class PasswordAuthConf(user: String, password: String) extends AuthConf with Product with Serializable

    Performs plain-text password authentication.

    Performs plain-text password authentication. Use with PasswordAuthenticator in Cassandra.

  14. class RefCountMap[T] extends AnyRef

    Atomically counts references to objects of any type

  15. final class RefCountedCache[K, V] extends AnyRef

    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.

  16. case class Schema(clusterName: String, keyspaces: Set[KeyspaceDef]) extends Product with Serializable

  17. class SessionProxy extends InvocationHandler

    Wraps a Session and intercepts:

    Wraps a Session and intercepts:

    • close method to invoke afterClose handler
    • prepare methods to cache PreparedStatement objects.
  18. case class TableDef(keyspaceName: String, tableName: String, partitionKey: Seq[ColumnDef], clusteringColumns: Seq[ColumnDef], regularColumns: Seq[ColumnDef]) extends Product with Serializable

    A Cassandra table metadata that can be serialized.

Value Members

  1. object AuthConf extends Serializable

    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.

  2. object AuthConfFactory

  3. object CassandraClientProxy

  4. object CassandraConnectionFactory extends Serializable

    Entry point for obtaining CassandraConnectionFactory object from SparkConf, used when establishing connections to Cassandra.

  5. object CassandraConnector extends Logging with Serializable

  6. object CassandraConnectorConf extends Logging with Serializable

    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.

  7. object ColumnDef extends Serializable

  8. object DefaultAuthConfFactory extends AuthConfFactory

    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.

  9. object DefaultConnectionFactory extends CassandraConnectionFactory

    Performs no authentication.

    Performs no authentication. Use with AllowAllAuthenticator in Cassandra.

  10. object LocalNodeFirstLoadBalancingPolicy

  11. object NoAuthConf extends AuthConf with Product with Serializable

    Performs no authentication.

    Performs no authentication. Use with AllowAllAuthenticator in Cassandra.

  12. object PartitionKeyColumn extends ColumnRole with Product with Serializable

  13. object PreparedStatementCache extends Logging

    Caches prepared statements so they are not prepared multiple times by different threads.

  14. object RegularColumn extends ColumnRole with Product with Serializable

  15. object Schema extends Logging with Serializable

  16. object SessionProxy

  17. object StaticColumn extends ColumnRole with Product with Serializable

  18. object TableDef extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped