Skip to content
Snippets Groups Projects
Commit 02e8cfa6 authored by Ethan Jewett's avatar Ethan Jewett
Browse files

HBase example

parent 3bf2c868
No related branches found
No related tags found
No related merge requests found
package spark.examples
import spark._
import spark.rdd.NewHadoopRDD
import org.apache.hadoop.hbase.{HBaseConfiguration, HTableDescriptor, HColumnDescriptor}
import org.apache.hadoop.hbase.client.HBaseAdmin
import org.apache.hadoop.hbase.mapreduce.TableInputFormat
object HBaseTest {
def main(args: Array[String]) {
val sc = new SparkContext(args(0), "HBaseTest",
System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_EXAMPLES_JAR")))
val conf = HBaseConfiguration.create()
conf.set(TableInputFormat.INPUT_TABLE, args(1))
// Initialize hBase tables if necessary
val admin = new HBaseAdmin(conf)
if(!admin.isTableAvailable(args(1))) {
val colDesc = new HColumnDescriptor(args(2))
val tableDesc = new HTableDescriptor(args(1))
tableDesc.addFamily(colDesc)
admin.createTable(tableDesc)
}
val hBaseRDD = new NewHadoopRDD(sc, classOf[TableInputFormat],
classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
classOf[org.apache.hadoop.hbase.client.Result], conf)
hBaseRDD.count()
System.exit(0)
}
}
...@@ -200,7 +200,11 @@ object SparkBuild extends Build { ...@@ -200,7 +200,11 @@ object SparkBuild extends Build {
def examplesSettings = sharedSettings ++ Seq( def examplesSettings = sharedSettings ++ Seq(
name := "spark-examples", name := "spark-examples",
libraryDependencies ++= Seq("com.twitter" % "algebird-core_2.9.2" % "0.1.11") resolvers ++= Seq("Apache HBase" at "https://repository.apache.org/content/repositories/releases"),
libraryDependencies ++= Seq(
"com.twitter" % "algebird-core_2.9.2" % "0.1.11",
"org.apache.hbase" % "hbase" % "0.94.6"
)
) )
def bagelSettings = sharedSettings ++ Seq(name := "spark-bagel") def bagelSettings = sharedSettings ++ Seq(name := "spark-bagel")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment