aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/scala/parallelai/spyglass/hbase/example/SimpleHBaseSourceExample.scala
blob: 2921df87d875e5211d969344cfb28a3efb38f7a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package parallelai.spyglass.hbase.example

import com.twitter.scalding.{Tsv, Args}
import parallelai.spyglass.base.JobBase
import org.apache.log4j.{Level, Logger}
import parallelai.spyglass.hbase.{HBasePipeConversions, HBaseSource}
import parallelai.spyglass.hbase.HBaseConstants.SourceMode
import cascading.tuple.Fields
import cascading.property.AppProps
import java.util.Properties

/**
  * Simple example of HBaseSource usage
  */
class SimpleHBaseSourceExample(args: Args) extends JobBase(args) with HBasePipeConversions {

   val isDebug: Boolean = args("debug").toBoolean

   if (isDebug) Logger.getRootLogger.setLevel(Level.DEBUG)

   val output = args("output")
   
   val properties = new Properties()
   AppProps.setApplicationJarClass( properties, classOf[SimpleHBaseSourceExample] );
   
   val hbs = new HBaseSource(
     "table_name",
     "quorum_name:2181",
     new Fields("key"),
     List("column_family"),
     List(new Fields("column_name1", "column_name2")),
     sourceMode = SourceMode.GET_LIST, keyList = List("1", "2", "3"))
     .read
     .fromBytesWritable(new Fields("key", "column_name1", "column_name2"))
     .write(Tsv(output format "get_list"))

 }