Calliope

Calliope provides a bridge between Cassandra and Spark framework allowing you to create those magical, realtime bigdata apps with ease!

I want to deploy in production today

The CTP builds of Calliope provide the latest and greatest in terms of feeatures and functionality, but they are still not deployed and teested as throuroughly and widely as the stable releases. You can follow the instructions below to use the previous releases.

Using it with spark-shell

Download the released jar, for and add it to your Spark shell classpath and the workers using sc.addJar, or if you build Spark from trunk or using a version newer than Spark 0.7.2 you can use the ADD_JARS environment variable to do this.

Releases

Cassandra 1.2.x

You can download Calliope from for Spark v0.8.1 here and for Spark v0.9.0 here.

You will also have to add cassandra-all, cassandra-thrift, libthrift to the classpath. Or you could just add your cassandra/lib to classpath.

Cassandra 2.0.x

Currently this is built only in with Spark v0.9.x. You can use the release 0.9.0-C2-EA.

If you are using Spark v0.8.x, let us know and we will release a build against it.

To use this you will have to add cassandra-all 2.0, cassandra-thrift 2.0 and libthrift 0.9.1.

Using it in your project

Add Calliope as dependency to your project build file.

Snapshot Build for Spark 1.0.0 and Cassandra >= 2.0.7

Note: Though all the functionality in past releases works, the new ffunctionality introduced in this release is still in development and not frozen.

Maven Project

This only works with Cassandra 2.0 and you will need to enable Sonatype Snapshot repository.

 <repositories>
   <repository>
     <id>snapshots-repo</id>
     <url>https://oss.sonatype.org/content/repositories/snapshots</url>
     <releases><enabled>false</enabled></releases>
     <snapshots><enabled>true</enabled></snapshots>
   </repository>
 </repositories>

and add dependency to Calliope release 0.9.4-EA-SNAPSHOT,

  <dependency>
    <groupId>com.tuplejump</groupId>
    <artifactId>calliope_2.10</artifactId>
    <version>0.9.4-EA-SNAPSHOT</version>
  </dependency>

SBT Project

In SBT you can do the same with these two lines,

resolvers += Resolver.sonatypeRepo("snapshots")

libraryDependencies += "com.tuplejump" %% "calliope" % "0.9.4-EA-SNAPSHOT"

Add to Maven

With Cassandra 1.2.x

Working with Spark 0.8.1 and Scala 2.9.x,

<dependency>
  <groupId>com.tuplejump</groupId>
  <artifactId>calliope_2.9.3</artifactId>
  <version>0.8.1-U1</version>
</dependency>

Working with Spark 0.9.0 and Scala 2.10.x,

<dependency>
  <groupId>com.tuplejump</groupId>
  <artifactId>calliope_2.10</artifactId>
  <version>0.9.0-U1-EA</version>
</dependency>

With Cassandra 2.0.x

Working with Spark 0.9.0 and Scala 2.10.x you can use the snip below. Notice the C2 in the version number.

<dependency>
  <groupId>com.tuplejump</groupId>
  <artifactId>calliope_2.10</artifactId>
  <version>0.9.0-U1-C2-EA</version>
</dependency>

Add to SBT

With Cassandra 1.2.x

Working with Spark 0.8.1 and Scala 2.9.x,

libraryDependencies += "com.tuplejump" %% "calliope" % "0.8.1-U1"

Working with Spark 0.9.0 and Scala 2.10.x,

libraryDependencies += "com.tuplejump" %% "calliope" % "0.9.0-U1-EA"

With Cassandra 2.0.x

Working with Spark 0.9.0 and Scala 2.10.x you can use the snip below. Notice the C2 in the version number.

libraryDependencies += "com.tuplejump" %% "calliope" % "0.9.0-U1-C2-EA"

Imports

Then you should import Implicits., RichByteBuffer. and CasBuilder in you shell or the Scala file where you want to use Calliope.

import com.tuplejump.calliope.Implicits._
import com.tuplejump.calliope.utils.RichByteBuffer._
import com.tuplejump.calliope.CasBuilder