diff --git a/src/main/java/com/profiler/common/hbase/HbaseOperations2.java b/src/main/java/com/profiler/common/hbase/HbaseOperations2.java index 1b40cc234..2a332e1d1 100644 --- a/src/main/java/com/profiler/common/hbase/HbaseOperations2.java +++ b/src/main/java/com/profiler/common/hbase/HbaseOperations2.java @@ -1,5 +1,6 @@ package com.profiler.common.hbase; +import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Put; import org.springframework.data.hadoop.hbase.HbaseOperations; import org.springframework.data.hadoop.hbase.RowMapper; @@ -52,7 +53,11 @@ public interface HbaseOperations2 extends HbaseOperations { void put(String tableName, final byte[] rowName, final byte[] familyName, final byte[] qualifier, final Long timestamp, final T value, final ValueMapper mapper); - void put(String tableName, final Put put); + void put(String tableName, final Put put); - void put(String tableName, final List puts); + void put(String tableName, final List puts); + + void delete(String tableName, final Delete delete); + + void delete(String tableName, final List deletes); } diff --git a/src/main/java/com/profiler/common/hbase/HbaseTemplate2.java b/src/main/java/com/profiler/common/hbase/HbaseTemplate2.java index 20f36b0ba..94102c82f 100644 --- a/src/main/java/com/profiler/common/hbase/HbaseTemplate2.java +++ b/src/main/java/com/profiler/common/hbase/HbaseTemplate2.java @@ -1,7 +1,9 @@ package com.profiler.common.hbase; import org.apache.hadoop.hbase.client.*; -import org.springframework.data.hadoop.hbase.*; +import org.springframework.data.hadoop.hbase.HbaseTemplate; +import org.springframework.data.hadoop.hbase.RowMapper; +import org.springframework.data.hadoop.hbase.TableCallback; import java.util.List; @@ -9,6 +11,7 @@ import java.util.List; * */ public class HbaseTemplate2 extends HbaseTemplate implements HbaseOperations2 { +// private HTablePool tablePool; @Override public T get(String tableName, byte[] rowName, RowMapper mapper) { @@ -86,24 +89,44 @@ public class HbaseTemplate2 extends HbaseTemplate implements HbaseOperations2 { }); } - public void put(String tableName, final Put put) { - execute(tableName, new TableCallback() { + public void put(String tableName, final Put put) { + execute(tableName, new TableCallback() { @Override - public T doInTable(HTable htable) throws Throwable { + public Object doInTable(HTable htable) throws Throwable { htable.put(put); return null; } }); } - public void put(String tableName, final List puts) { - execute(tableName, new TableCallback() { + public void put(String tableName, final List puts) { + execute(tableName, new TableCallback() { @Override - public T doInTable(HTable htable) throws Throwable { + public Object doInTable(HTable htable) throws Throwable { htable.put(puts); return null; } }); } + public void delete(String tableName, final Delete delete) { + execute(tableName, new TableCallback() { + @Override + public Object doInTable(HTable htable) throws Throwable { + htable.delete(delete); + return null; + } + }); + } + + public void delete(String tableName, final List deletes) { + execute(tableName, new TableCallback() { + @Override + public Object doInTable(HTable htable) throws Throwable { + htable.delete(deletes); + return null; + } + }); + } + } diff --git a/src/test/java/com/profiler/common/hbase/HBaseClientTest.java b/src/test/java/com/profiler/common/hbase/HBaseClientTest.java index fda0f37e9..fbd198ac9 100644 --- a/src/test/java/com/profiler/common/hbase/HBaseClientTest.java +++ b/src/test/java/com/profiler/common/hbase/HBaseClientTest.java @@ -12,6 +12,7 @@ import org.junit.BeforeClass; import org.junit.Test; import java.io.IOException; +import java.net.URL; import java.util.*; public class HBaseClientTest { @@ -22,7 +23,8 @@ public class HBaseClientTest { @BeforeClass public static void init() throws IOException { - Properties properties = PropertyUtils.readProperties("test-hbase.properties"); + URL resource = HBaseClientTest.class.getClassLoader().getResource("test-hbase.properties"); + Properties properties = PropertyUtils.readProperties(resource.getPath()); client = new HBaseClient(properties); if (client.isTableExists(TABLE_NAME)) { client.dropTable(TABLE_NAME);