package connector
- Alphabetic
- Public
- Protected
Package Members
- package cql
- package japi
- package mapper
Provides machinery for mapping Cassandra tables to user defined Scala classes or tuples.
Provides machinery for mapping Cassandra tables to user defined Scala classes or tuples. The main class in this package is mapper.ColumnMapper responsible for matching Scala object's properties with Cassandra column names.
- package types
Offers type conversion magic, so you can receive Cassandra column values in a form you like the most.
Offers type conversion magic, so you can receive Cassandra column values in a form you like the most. Simply specify the type you want to use on the Scala side, and the column value will be converted automatically. Works also with complex objects like collections.
- package util
Type Members
- final class CassandraRow extends ScalaGettableData with Serializable
Represents a single row fetched from Cassandra.
Represents a single row fetched from Cassandra. Offers getters to read individual fields by column name or column index. The getters try to convert value to desired type, whenever possible. Most of the column types can be converted to a
String. For nullable columns, you should use thegetXXXOptiongetters which convertnulls toNonevalues, otherwise aNullPointerExceptionwould be thrown.All getters throw an exception if column name/index is not found. Column indexes start at 0.
If the value cannot be converted to desired type, com.datastax.spark.connector.types.TypeConversionException is thrown.
Recommended getters for Cassandra types:
-
ascii:getString,getStringOption-bigint:getLong,getLongOption-blob:getBytes,getBytesOption-boolean:getBool,getBoolOption-counter:getLong,getLongOption-decimal:getDecimal,getDecimalOption-double:getDouble,getDoubleOption-float:getFloat,getFloatOption-inet:getInet,getInetOption-int:getInt,getIntOption-text:getString,getStringOption-timestamp:getDate,getDateOption-timeuuid:getUUID,getUUIDOption-uuid:getUUID,getUUIDOption-varchar:getString,getStringOption-varint:getVarInt,getVarIntOption-list:getList[T]-set:getSet[T]-map:getMap[K, V]Collection getters
getList,getSetandgetMaprequire to explicitly pass an appropriate item type:row.getList[String]("a_list") row.getList[Int]("a_list") row.getMap[Int, String]("a_map")
Generic
getallows to automatically convert collections to other collection types. Supported containers: -scala.collection.immutable.List-scala.collection.immutable.Set-scala.collection.immutable.TreeSet-scala.collection.immutable.Vector-scala.collection.immutable.Map-scala.collection.immutable.TreeMap-scala.collection.Iterable-scala.collection.IndexedSeq-java.util.ArrayList-java.util.HashSet-java.util.HashMapExample:
row.get[List[Int]]("a_list") row.get[Vector[Int]]("a_list") row.get[java.util.ArrayList[Int]]("a_list") row.get[TreeMap[Int, String]]("a_map")
Timestamps can be converted to other Date types by using generic
get. Supported date types: - java.util.Date - java.sql.Date - case class CassandraRowMetadata(columnNames: IndexedSeq[String], resultSetColumnNames: Option[IndexedSeq[String]] = None, codecs: IndexedSeq[TypeCodec[AnyRef]] = null) extends Product with Serializable
All CassandraRows shared data
All CassandraRows shared data
- columnNames
row column names
- resultSetColumnNames
column names from java driver row result set, without connector aliases.
- codecs
cached java driver codecs to avoid registry lookups
- sealed trait CollectionBehavior extends AnyRef
Insert behaviors for Collections.
- case class CollectionColumnName(columnName: String, alias: Option[String] = None, collectionBehavior: CollectionBehavior = CollectionOverwrite) extends ColumnRef with Product with Serializable
References a collection column by name with insert instructions
- case class ColumnName(columnName: String, alias: Option[String] = None) extends ColumnRef with Product with Serializable
References a column by name.
- class ColumnNotFoundException extends Exception
Thrown when the requested column does not exist in the result set.
- sealed trait ColumnRef extends AnyRef
A column that can be selected from CQL results set by name.
- case class FunctionCallRef(columnName: String, actualParams: Seq[Either[ColumnRef, String]] = Seq.empty, alias: Option[String] = None) extends ColumnRef with Product with Serializable
References a function call *
- trait GettableByIndexData extends Serializable
- trait GettableData extends GettableByIndexData
- trait ScalaGettableByIndexData extends GettableByIndexData
- trait ScalaGettableData extends ScalaGettableByIndexData with GettableData
- case class TTL(columnName: String, alias: Option[String] = None) extends ColumnRef with Product with Serializable
References TTL of a column.
- case class TableRef(table: String, keyspace: String, cluster: Option[String] = None) extends Product with Serializable
Store table name, keyspace name and option cluster name, keyspace is equivalent to database
- final case class TupleValue(values: Any*) extends ScalaGettableByIndexData with Product with Serializable
- final case class UDTValue(metaData: CassandraRowMetadata, columnValues: IndexedSeq[AnyRef]) extends ScalaGettableData with Product with Serializable
- case class WriteTime(columnName: String, alias: Option[String] = None) extends ColumnRef with Product with Serializable
References write time of a column.
Value Members
- object CassandraRow extends Serializable
- object CassandraRowMetadata extends Serializable
- case object CollectionAppend extends CollectionBehavior with Product with Serializable
- case object CollectionOverwrite extends CollectionBehavior with Product with Serializable
- case object CollectionPrepend extends CollectionBehavior with Product with Serializable
- case object CollectionRemove extends CollectionBehavior with Product with Serializable
- object GettableData extends Serializable
- case object RowCountRef extends ColumnRef with Product with Serializable
References a row count value returned from SELECT count(*)
- object TupleValue extends Serializable
- object UDTValue extends Serializable