Phantom is a high performance Scala DSL for Apache Cassandra and now the leading tool for integrating Cassandra in the Scala Eco-system. So, if you are planning on using Cassandra with Scala, phantom is the weapon of choice.

It has slowly but surely grown to become an established Scala framework and through its high focus on:

Scala type system to mimic CQL and translate them to type safe queries.

Translates Cassandra restrictions to compile time errors.

Ease of use and quality coding.

Reducing code and boilerplate by at least 90%.

One can map and flatMap their way to glory with extremely simple one liners.

Simple interface for accessing data and also creating column families while still being based on the datastax driver.

This is great as it means that your code remains very readable, but you are also still free to use any advanced features which may not have found their way into the library yet.

This tutorial is not adequate, and our license explicitly prohibits publishing educational material on phantom without our written consent, specifically to prevent misinterpretations of the phantom API from spreading.

We would be most grateful in your cooperation to update this post accordingly, we would happily help you get it right.

Have a look here for details on how to connect to Cassandra using phantom, a lot of the primitives you are trying to build are already implemented with much more features and available by default in phantom.