Author: dlanglais Date: 2010-01-26 16:58:26 +0100 (Tue, 26 Jan 2010) New Revision: 16 Removed: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/HBase.java Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/ Log: suppression du plugin HBase (pour revenir plus fort ^^). Property changes on: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins ___________________________________________________________________ Added: svn:ignore + HBase.java Deleted: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/HBase.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/HBase.java 2010-01-26 13:47:13 UTC (rev 15) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/HBase.java 2010-01-26 15:58:26 UTC (rev 16) @@ -1,167 +0,0 @@ -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; -import org.nuiton.mapstoragemanager.plugins.BigTable; - -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.util.Bytes; - - -public class HBase implements BigTable { - - private HBaseConfiguration config; - private HTable table; - private String familyName = "mylittlecolumnfamily"; - private String rowName = "myLittleRow"; - private String tableName = "mylittletable"; - - public HBase(){ - // You need a configuration object to tell the client where to connect. - // When you create a HBaseConfiguration, it reads in whatever you've set - // into your hbase-site.xml and in hbase-default.xml, as long as these can - // be found on the CLASSPATH - org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration(); - config = new HBaseConfiguration(conf); - System.out.println("test"); - selectTable(tableName); - put("test", "val"); - put("test", "val2"); - put("test2", "val3"); - } - - @Override - public void put(String key, String value) { - - // To add to a row, use Put. A Put constructor takes the name of the row - // you want to insert into as a byte array. In HBase, the Bytes class has - // utility for converting all kinds of java types to byte arrays. In the - // below, we are converting the String "myLittleRow" into a byte array to - // use as a row key for our update. Once you have a Put instance, you can - // adorn it by setting the names of columns you want to update on the row, - // the timestamp to use in your update, etc.If no timestamp, the server - // applies current time to the edits. - Put p = new Put(Bytes.toBytes(rowName)); - - // To set the value you'd like to update in the row 'myRow', specify the - // column family, column qualifier, and value of the table cell you'd like - // to update. The column family must already exist in your table schema. - // The qualifier can be anything. All must be specified as byte arrays as - // hbase is all about byte arrays. Lets pretend the table - // 'myLittleHBaseTable' was created with a family 'myLittleFamily'. - p.add(Bytes.toBytes(familyName), Bytes.toBytes(key), - Bytes.toBytes(value)); - - // Once you've adorned your Put instance with all the updates you want to - // make, to commit it do the following (The HTable#put method takes the - // Put instance you've been building and pushes the changes you made into - // hbase) - - /*try { - table.put(p); - } catch (IOException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } -*/ - } - - @Override - public String get(String key) { - - // Now, to retrieve the data we just wrote. The values that come back are - // Result instances. Generally, a Result is an object that will package up - // the hbase return into the form you find most palatable. - Get g = new Get(Bytes.toBytes(rowName)); - Result r; - byte [] value = null; -// try { -// r = table.get(g); -// value = r.getValue(Bytes.toBytes(familyName), -// Bytes.toBytes(key)); -// } catch (IOException e) { -// e.printStackTrace(); -// } - - // If we convert the value bytes, we should get back 'Some Value', the - // value we inserted at this location. - String valueStr = Bytes.toString(value); - - return "valeur"; - //return valueStr; - } - - @Override - public Set<String> getKeys() { - - Set<String> keySet = new HashSet<String>(); - - // Sometimes, you won't know the row you're looking for. In this case, you - // use a Scanner. This will give you cursor-like interface to the contents - // of the table. To set up a Scanner, do like you did above making a Put - // and a Get, create a Scan. Adorn it with column names, etc. - Scan s = new Scan(); - //s.addColumn(Bytes.toBytes(familyName), Bytes.toBytes("test")); - ResultScanner scanner = null; - try { - scanner = table.getScanner(s); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - try { - // Scanners return Result instances. - // Now, for the actual iteration. One way is to use a while loop like so: - try { - for (Result rr = scanner.next(); rr != null; rr = scanner.next()) { - // print out the row we found and the columns we were looking for - System.out.println("Found row: " + rr); - keySet.add(rr.toString()); - } - - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // The other approach is to use a foreach loop. Scanners are iterable! - // for (Result rr : scanner) { - // System.out.println("Found row: " + rr); - // } - } finally { - // Make sure you close your scanners when you are done! - // Thats why we have it inside a try/finally clause - scanner.close(); - } - - return keySet; - } - - public void selectTable(String tableName){ - // This instantiates an HTable object that connects you to - // the "myLittleHBaseTable" table. - try { - table = new HTable(config, tableName); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void connect(String host, String base, String username, - String password) { - // TODO Auto-generated method stub - - } - - public static void main(String[] args) { - HBase h = new HBase(); - } - -}