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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
  | 
package parallelai.spyglass.hbase.example
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.hbase.HBaseConfiguration
import org.apache.hadoop.hbase.client.HConnectionManager
import org.apache.hadoop.hbase.client.HTable
import org.apache.hadoop.hbase.util.Bytes
import org.apache.log4j.Level
import org.apache.log4j.Logger
import com.twitter.scalding._
import com.twitter.scalding.Args
import parallelai.spyglass.base.JobBase
import parallelai.spyglass.hbase.HBaseSource
import parallelai.spyglass.hbase.HBaseConstants.SourceMode
import org.apache.hadoop.hbase.client.Put
import parallelai.spyglass.hbase.HBaseSalter
class HBaseExample(args: Args) extends JobBase(args) {
   val isDebug: Boolean = args("debug").toBoolean
   if (isDebug) Logger.getRootLogger.setLevel(Level.DEBUG)
   val output = args("output")
   val jobConf = getJobConf()
   val quorumNames = args("quorum")
   println("Output : " + output)
   println("Quorum : " + quorumNames)
   val hbs2 = new HBaseSource(
      "_TEST.SALT.01",
      quorumNames,
      'key,
      List("data"),
      List('data),
      sourceMode = SourceMode.GET_LIST, keyList = List("13914", "10687", "14897").map(x => "%015d".format(x.toLong)), useSalt = true)
      .read
      .write(Tsv(output.format("get_list")))
   val hbs3 = new HBaseSource(
      "_TEST.SALT.01",
      quorumNames,
      'key,
      List("data"),
      List('data),
      sourceMode = SourceMode.SCAN_ALL) //, stopKey = "99460693")
      .read
      .write(Tsv(output.format("scan_all")))
   val hbs4 = new HBaseSource(
      "_TEST.SALT.01",
      quorumNames,
      'key,
      List("data"),
      List('data),
      sourceMode = SourceMode.SCAN_RANGE, stopKey = "%015d".format("13914".toLong), useSalt = true)
      .read
      .write(Tsv(output.format("scan_range_to_end")))
   val hbs5 = new HBaseSource(
      "_TEST.SALT.01",
      quorumNames,
      'key,
      List("data"),
      List('data),
      sourceMode = SourceMode.SCAN_RANGE, startKey = "%015d".format("13914".toLong), useSalt = true)
      .read
      .write(Tsv(output.format("scan_range_from_start")))
   val hbs6 = new HBaseSource(
      "_TEST.SALT.01",
      quorumNames,
      'key,
      List("data"),
      List('data),
      sourceMode = SourceMode.SCAN_RANGE, startKey = "%015d".format("13914".toLong), stopKey = "%015d".format("16897".toLong), useSalt = true)
      .read
      .write(Tsv(output.format("scan_range_between")))
}
  |