aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorChandan Rajah <chandan.rajah@gmail.com>2013-06-06 12:33:12 +0100
committerChandan Rajah <chandan.rajah@gmail.com>2013-06-06 12:33:12 +0100
commitc5111d865ea662564f3228f05f5b4d9a8eaffa95 (patch)
tree0eac9ebb715dcde7eff243e7fe1fdc5468c8e665 /README.md
parentad90e42a750049ae20686d9c550ce9afd61e9c80 (diff)
downloadSpyGlass-c5111d865ea662564f3228f05f5b4d9a8eaffa95.tar.gz
SpyGlass-c5111d865ea662564f3228f05f5b4d9a8eaffa95.zip
Cosmetic changes to Read Me
Diffstat (limited to 'README.md')
-rw-r--r--README.md97
1 files changed, 52 insertions, 45 deletions
diff --git a/README.md b/README.md
index c2c2f76..c68d0b5 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@ GET_LIST
Requires the *keyList* parameter to be specified as well.
(e.g.)
+
val hbs2 = new HBaseSource(
"table_name",
"quorum_name:2181",
@@ -39,6 +40,7 @@ Requires the *keyList* parameter to be specified as well.
Additionally, the *versions* parameter can be used to retrieve more than one version of the row.
(e.g.)
+
val hbs2 = new HBaseSource(
"table_name",
"quorum_name:2181",
@@ -60,35 +62,36 @@ if:
- Neither provided -> All rows in table are returned.
(e.g.)
- val hbs4 = new HBaseSource(
- "table_name",
- "quorum_name:2181",
- 'key,
- Array("column_family"),
- Array('column_name),
- sourceMode = SourceMode.SCAN_RANGE, stopKey = "5003914")
- .read
- .write(Tsv(output.format("scan_range_to_end")))
-
- val hbs5 = new HBaseSource(
- "table_name",
- "quorum_name:2181",
- 'key,
- Array("column_family"),
- Array('column_name),
- sourceMode = SourceMode.SCAN_RANGE, startKey = "5003914")
- .read
- .write(Tsv(output.format("scan_range_from_start")))
-
- val hbs6 = new HBaseSource(
- "table_name",
- "quorum_name:2181",
- 'key,
- Array("column_family"),
- Array('column_name),
- sourceMode = SourceMode.SCAN_RANGE, startKey = "5003914", stopKey = "5004897")
- .read
- .write(Tsv(output.format("scan_range_between")))
+
+ val hbs4 = new HBaseSource(
+ "table_name",
+ "quorum_name:2181",
+ 'key,
+ Array("column_family"),
+ Array('column_name),
+ sourceMode = SourceMode.SCAN_RANGE, stopKey = "5003914")
+ .read
+ .write(Tsv(output.format("scan_range_to_end")))
+
+ val hbs5 = new HBaseSource(
+ "table_name",
+ "quorum_name:2181",
+ 'key,
+ Array("column_family"),
+ Array('column_name),
+ sourceMode = SourceMode.SCAN_RANGE, startKey = "5003914")
+ .read
+ .write(Tsv(output.format("scan_range_from_start")))
+
+ val hbs6 = new HBaseSource(
+ "table_name",
+ "quorum_name:2181",
+ 'key,
+ Array("column_family"),
+ Array('column_name),
+ sourceMode = SourceMode.SCAN_RANGE, startKey = "5003914", stopKey = "5004897")
+ .read
+ .write(Tsv(output.format("scan_range_between")))
SCAN_ALL
@@ -96,6 +99,7 @@ SCAN_ALL
Returns all rows in the table
(e.g.)
+
val hbs2 = new HBaseSource(
"table_name",
"quorum_name:2181",
@@ -112,13 +116,14 @@ HBaseSource supports writing at a particular time stamp i.e. a version.
The time dimension can be added to the row by using the *timestamp* parameter. If the parameter is not present the current time is used.
-(e.g.)
- .write(new HBaseSource( "table_name",
- "quorum_name:2181",
- 'key,
- TABLE_SCHEMA.tail.map((x: Symbol) => "data").toArray,
- TABLE_SCHEMA.tail.map((x: Symbol) => new Fields(x.name)).toArray,
- timestamp = Platform.currentTime ))
+(e.g.)
+
+ pipe.write(new HBaseSource( "table_name",
+ "quorum_name:2181",
+ 'key,
+ TABLE_SCHEMA.tail.map((x: Symbol) => "data").toArray,
+ TABLE_SCHEMA.tail.map((x: Symbol) => new Fields(x.name)).toArray,
+ timestamp = Platform.currentTime ))
3. Region Hot Spot Prevention
@@ -128,9 +133,10 @@ Region hot spotting is a common problem with HBase. Spy Glass uses key prefix sa
The row key is prefixed with the last byte followed by a '_' (underscore) character.
(e.g.)
-Original Row Key -> Becomes
-SPYGLASS -> S_SPYGLASS
-12345678 -> 8_12345678
+
+ Original Row Key -> Becomes
+ SPYGLASS -> S_SPYGLASS
+ 12345678 -> 8_12345678
Conversion to and from salted keys is done automatically.
@@ -138,14 +144,15 @@ Setting the *useSalt* parameter to *true* enables this functionality
(e.g.)
- val TABLE_SCHEMA = List('key, 'salted, 'unsalted)
+ val TABLE_SCHEMA = List('key, 'salted, 'unsalted)
+
val hbase07 =
- new HBaseSource( "table_name",
- "quorum_name:2181", 'key,
- TABLE_SCHEMA.tail.map((x: Symbol) => "data").toArray,
- TABLE_SCHEMA.tail.map((x: Symbol) => new Fields(x.name)).toArray,
- sourceMode = SourceMode.SCAN_RANGE, startKey = "11445", stopKey = "11455", useSalt = true, prefixList = "0123456789" )
+ new HBaseSource( "table_name",
+ "quorum_name:2181", 'key,
+ TABLE_SCHEMA.tail.map((x: Symbol) => "data").toArray,
+ TABLE_SCHEMA.tail.map((x: Symbol) => new Fields(x.name)).toArray,
+ sourceMode = SourceMode.SCAN_RANGE, startKey = "11445", stopKey = "11455", useSalt = true, prefixList = "0123456789" )
.read
// Convert from ImmutableBytesWritable to String