Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Demo Adapting asynchbase to Scala
package ca.underflow.hbase
import org.hbase.async._
import com.stumbleupon.async._
object Demo extends App {
// This let's us pass inline functions to the deferred
// object returned by most asynchbase methods
implicit def conv[A, B](f: B A): Callback[A, B] = {
new Callback[A, B]() {
def call(b: B) = f(b)
// Specify your zookeeper connection below
val client = new HBaseClient("localhost")
// Our dummy data
val put = new PutRequest("table", "row", "family", "column", "value")
// asynchbase client methods
client.ensureTableFamilyExists("table", "family") addCallback {
o: Object println("Put Succeeded")
} addErrback {
e: Exception
println("Table Assertion Error")
} join // wait for the assertion to continue
client.put(put) addCallback { o: Object
println("Inserted into Table")
} addErrback { e: Exception
println("Insertion error")
} join // need to wait, or else the app exits
println("Hello World")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment