Packages

class CassandraConnector extends Serializable with Logging

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.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 host
  • spark.cassandra.connection.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.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 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.read.timeoutMS: maximum period of time to wait for a read to return
  • 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)
Linear Supertypes
Logging, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CassandraConnector
  2. Logging
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CassandraConnector(conf: CassandraConnectorConf)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def closeResourceAfterUse[T, C <: AnyRef { def close(): Unit }](closeable: C)(code: (C) ⇒ T): T

    Automatically closes resource after use.

    Automatically closes resource after use. Handy for closing streams, files, sessions etc. Similar to try-with-resources in Java 7.

  7. val conf: CassandraConnectorConf
  8. def connectionFactory: CassandraConnectionFactory

    Connection configurator

  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hosts: Set[InetSocketAddress]

    Known cluster hosts in the connected datacenter.

  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  17. def jWithSessionDo[T](code: Function[CqlSession, T]): T

    Allows use of a Cassandra Session in a safe way without risk of forgetting to close it from java.

    Allows use of a Cassandra Session in a safe way without risk of forgetting to close it from java. See withSessionDo

    We should not need this in scala 2.12

  18. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  19. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  20. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  21. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  22. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  23. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  24. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  25. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  26. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  27. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  28. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  29. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. def openSession(): CqlSession

    Returns a shared session to Cassandra and increases the internal open reference counter.

    Returns a shared session to Cassandra and increases the internal open reference counter. It does not release the session automatically, so please remember to close it after use. Closing a shared session decreases the session reference counter. If the reference count drops to zero, the session may be physically closed.

  34. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  35. def toString(): String
    Definition Classes
    AnyRef → Any
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  39. def withSessionDo[T](code: (CqlSession) ⇒ T): T

    Allows to use Cassandra Session in a safe way without risk of forgetting to close it.

    Allows to use Cassandra Session in a safe way without risk of forgetting to close it. The Session object obtained through this method is a proxy to a shared, single Session associated with the cluster. Internally, the shared underlying Session will be closed shortly after all the proxies are closed.

Inherited from Logging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped