Author: dlanglais Date: 2010-03-25 10:38:35 +0100 (Thu, 25 Mar 2010) New Revision: 271 Log: Correction sur le "plugin" HBase (non fonctionnel). Ajout d'images pour la soutenance. Added: trunk/src/site/doc/soutenance/img/ trunk/src/site/doc/soutenance/img/hudson_logo.png trunk/src/site/doc/soutenance/img/maven_logo.gif trunk/src/site/doc/soutenance/img/sonar_logo.png Removed: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java Modified: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java Modified: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java =================================================================== --- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java 2010-03-24 21:46:40 UTC (rev 270) +++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/HBase.java 2010-03-25 09:38:35 UTC (rev 271) @@ -75,14 +75,19 @@ */ @Override public boolean connect(Properties properties) { + + boolean ret = false; // return value. + config = new HBaseConfiguration(); try { hBaseAdmin = new HBaseAdmin(config); - return true; + ret = true; } catch (MasterNotRunningException ex) { LOG.error(ex, ex); - return false; + ret = false; } + + return ret; } /** Modified: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java =================================================================== --- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java 2010-03-24 21:46:40 UTC (rev 270) +++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/Main.java 2010-03-25 09:38:35 UTC (rev 271) @@ -1,26 +1,23 @@ package org.nuiton.mapstoragemanager.plugins.hbase; import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.hbase.ColumnNameParseException; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HServerAddress; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.TableExistsException; import org.apache.hadoop.hbase.TableNotDisabledException; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HConnection; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.client.ServerCallable; -import org.apache.hadoop.hbase.ipc.HRegionInterface; -import org.apache.hadoop.hbase.util.Bytes; public class Main { + + /** + * Private default Constructor. + */ + private Main() { } /** * Logger. @@ -54,9 +51,8 @@ /** * Create Table. */ - String tableName = null; + String tableName = "test"; try { - tableName = "test"; HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName); hc.getMaster().createTable(hTableDescriptor); LOG.trace("table " + tableName + " created."); @@ -70,10 +66,8 @@ /** * Create Column. */ - String columnName = null; + String columnName = "testCol"; try { - tableName = "test"; - columnName = "testCol"; HColumnDescriptor hcolumnDescriptor = new HColumnDescriptor(columnName); hc.getMaster().disableTable(tableName.getBytes()); hc.getMaster().addColumn(tableName.getBytes(), hcolumnDescriptor); @@ -89,7 +83,7 @@ */ HTableDescriptor[] hTableDesriptors = null; try { - System.out.println(hc.listTables().length); + LOG.info("hc.listTables().length : " + hc.listTables().length); LOG.debug("BEGIN : hTableDesriptors = hc.listTables()"); hc.getMaster(); hc.tableExists(tableName.getBytes()); @@ -111,8 +105,6 @@ * Delete Column. */ try { - tableName = "test"; - columnName = "testCol"; hc.getMaster().disableTable(tableName.getBytes()); hc.getMaster().deleteColumn(tableName.getBytes(), columnName.getBytes()); hc.getMaster().enableTable(tableName.getBytes()); @@ -126,7 +118,6 @@ * Delete Table. */ try { - tableName = "test"; hc.getMaster().disableTable(tableName.getBytes()); hc.getMaster().deleteTable(tableName.getBytes()); LOG.trace("table " + tableName + " deleted."); Deleted: trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java =================================================================== --- trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java 2010-03-24 21:46:40 UTC (rev 270) +++ trunk/msm-hbase/src/main/java/org/nuiton/mapstoragemanager/plugins/hbase/MyLittleHBaseClient.java 2010-03-25 09:38:35 UTC (rev 271) @@ -1,108 +0,0 @@ -package org.nuiton.mapstoragemanager.plugins.hbase; - -import java.io.IOException; - -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HBaseAdmin; -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; - - -// Class that has nothing but a main. -// Does a Put, Get and a Scan against an hbase table. -public class MyLittleHBaseClient { - public static void main(String[] args) throws IOException { - // 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 - HBaseConfiguration config = new HBaseConfiguration(); - String tableName = "myLittleHBaseTable"; - /* - HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName); - //hTableDescriptor.addFamily(new HColumnDescriptor("myColumnFamily")); - HBaseAdmin hBaseAdmin = new HBaseAdmin(config); - - try{ - hBaseAdmin.createTable(hTableDescriptor); - hBaseAdmin.enableTable(tableName); - } - catch(org.apache.hadoop.hbase.TableExistsException e){ - System.out.println("Table "+tableName+" already created."); - } -*/ - // This instantiates an HTable object that connects you to - // the "myLittleHBaseTable" table. - HTable table = new HTable(config, tableName); - System.out.println("HTable table = new HTable(config, tableName);"); - - // 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("myLittleRow")); - - // To set the value you'd like to update in the row 'myLittleRow', 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("myLittleFamily"), Bytes.toBytes("someQualifier"), - Bytes.toBytes("Some 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) - table.put(p); - - // 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("myLittleRow")); - Result r = table.get(g); - byte [] value = r.getValue(Bytes.toBytes("myLittleFamily"), - Bytes.toBytes("someQualifier")); - // If we convert the value bytes, we should get back 'Some Value', the - // value we inserted at this location. - String valueStr = Bytes.toString(value); - System.out.println("GET: " + valueStr); - - // 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("myLittleFamily"), Bytes.toBytes("someQualifier")); - ResultScanner scanner = table.getScanner(s); - try { - // Scanners return Result instances. - // Now, for the actual iteration. One way is to use a while loop like so: - 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); - } - - // 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(); - } - } -} Added: trunk/src/site/doc/soutenance/img/hudson_logo.png =================================================================== (Binary files differ) Property changes on: trunk/src/site/doc/soutenance/img/hudson_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/src/site/doc/soutenance/img/maven_logo.gif =================================================================== (Binary files differ) Property changes on: trunk/src/site/doc/soutenance/img/maven_logo.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: trunk/src/site/doc/soutenance/img/sonar_logo.png =================================================================== (Binary files differ) Property changes on: trunk/src/site/doc/soutenance/img/sonar_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream