使用Hector和Scala持久化Cassandra資料庫

jieforest發表於2012-12-19
[i=s] 本帖最後由 jieforest 於 2012-12-19 15:31 編輯

I am going to show you how I went about solving how to persist instances in Cassandra, using Hector, in the function insert(instance) in Scala. To work out how these instances are going to be persisted, I shall use type classes. More than just the code, I will explain & show every step of my design.

Crash course in Cassandra

Cassandra is a schema-free database; to understand it, here are the most important concepts and their loose mapping to the relational databases counterparts:

keyspace – schema; database

column family – table, with key and rows

key – primary key

row – collection of columns; the rows in the column family may have completely different columns

column – column

When inserting data into Cassandra, we must be able to serialise the data to be inserted. To do that, we must know the key type and the names and types of all columns.

Back to Scala

Let’s turn back to our insert(instance) function. Intuitively, we would understand what should happen if we were to insert a simple case class:

CODE:

1.case class User(username: String,
2.password: String,
3.firstName: String,
4.lastName: String,
5.id: UUID)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/301743/viewspace-751354/,如需轉載,請註明出處,否則將追究法律責任。

相關文章