Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change 
notification.

The "Hbase/Scala" page has been changed by tuxracer69.
The comment on this change is: starting a scala page (there was already a 
jython and groovy page).
http://wiki.apache.org/hadoop/Hbase/Scala

--------------------------------------------------

New page:
== Accessing HBase from Scala ==
Scala can call Hbase classes very easily as other JVM based languages (Jython, 
Jruby, Groovy).
Scala may be a better choice than say Jython as Jython 2.5.1 does not ship any 
more with a jythonc compiler command, and if you want to do Hbase mapreduce 
integration, you will need compiled classes.

== Setting Your Classpath ==

Set your classpath as described in 
[[Hbase/Jython]]
for instance getting it from:
{{{
ps auwx|grep java|grep org.apache.hadoop.hbase.master.HMaster|perl -pi -e 
"s/.*classpath //"
}}}


== The Code ==
Please look at the Java API. Adaptation to scala should be relatively easy. The 
example below shows part of the smple Java code adapted to scala:

{{{

import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.client.HBaseAdmin
import org.apache.hadoop.hbase.client.HTable
import org.apache.hadoop.hbase.client.Put
import org.apache.hadoop.hbase.client.Get
import org.apache.hadoop.hbase.util.Bytes



val conf = new HBaseConfiguration()
val admin = new HBaseAdmin(conf)

// list the tables
val listtables=admin.listTables() 
listtables.foreach(println)

// let's insert some data in 'mytable' and get the row

val table = new HTable(conf, "mytable")

val theput= new Put(Bytes.toBytes("rowkey1"))

theput.add(Bytes.toBytes("ids"),Bytes.toBytes("id1"),Bytes.toBytes("one"))
table.put(theput)

val theget= new Get(Bytes.toBytes("rowkey1"))
val result=table.get(theget)
val value=result.value()
println(Bytes.toString(value))



}}}

Reply via email to