Repository: crunch
Updated Branches:
  refs/heads/master 85f24c5c8 -> ccad69448


CRUNCH-576 Add multi-scan methods to FromHBase

Add factory methods which allow reading a PCollection from HBase
that uses multiple Scans.


Project: http://git-wip-us.apache.org/repos/asf/crunch/repo
Commit: http://git-wip-us.apache.org/repos/asf/crunch/commit/ccad6944
Tree: http://git-wip-us.apache.org/repos/asf/crunch/tree/ccad6944
Diff: http://git-wip-us.apache.org/repos/asf/crunch/diff/ccad6944

Branch: refs/heads/master
Commit: ccad69448c020172cfa3ecc442c089e83b0e31de
Parents: 85f24c5
Author: Gabriel Reid <[email protected]>
Authored: Fri Nov 6 14:25:21 2015 +0100
Committer: Gabriel Reid <[email protected]>
Committed: Mon Nov 16 14:46:34 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/crunch/io/hbase/FromHBase.java  | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/crunch/blob/ccad6944/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/FromHBase.java
----------------------------------------------------------------------
diff --git 
a/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/FromHBase.java 
b/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/FromHBase.java
index 16f6694..114fc93 100644
--- a/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/FromHBase.java
+++ b/crunch-hbase/src/main/java/org/apache/crunch/io/hbase/FromHBase.java
@@ -17,6 +17,9 @@
  */
 package org.apache.crunch.io.hbase;
 
+import java.util.List;
+
+import com.google.common.collect.ImmutableList;
 import org.apache.crunch.Source;
 import org.apache.crunch.TableSource;
 import org.apache.hadoop.fs.Path;
@@ -39,12 +42,23 @@ public class FromHBase {
     return table(TableName.valueOf(table), scan);
   }
 
+  public static TableSource<ImmutableBytesWritable, Result> table(String 
table, List<Scan> scans) {
+    return table(TableName.valueOf(table), scans);
+  }
+
   public static TableSource<ImmutableBytesWritable, Result> table(TableName 
table) {
     return table(table, new Scan());
   }
 
   public static TableSource<ImmutableBytesWritable, Result> table(TableName 
table, Scan scan) {
-    return new HBaseSourceTarget(table, scan);
+    return table(table, ImmutableList.of(scan));
+  }
+
+  public static TableSource<ImmutableBytesWritable, Result> table(TableName 
table, List<Scan> scans) {
+    if (scans.isEmpty()) {
+      throw new IllegalArgumentException("Must supply at least one scan");
+    }
+    return new HBaseSourceTarget(table, scans.toArray(new Scan[scans.size()]));
   }
 
   public static Source<KeyValue> hfile(String path) {

Reply via email to