Class HBaseClient


  • public class HBaseClient
    extends com.yahoo.ycsb.DB
    HBase client for YCSB framework
    • Constructor Summary

      Constructors 
      Constructor Description
      HBaseClient()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cleanup()
      Cleanup any state for this DB.
      int delete​(java.lang.String table, java.lang.String key)
      Delete a record from the database.
      org.apache.hadoop.hbase.client.HTable getHTable​(java.lang.String table)  
      void init()
      Initialize any state for this DB.
      int insert​(java.lang.String table, java.lang.String key, java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
      Insert a record in the database.
      static void main​(java.lang.String[] args)  
      int read​(java.lang.String table, java.lang.String key, java.util.Set<java.lang.String> fields, java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> result)
      Read a record from the database.
      int scan​(java.lang.String table, java.lang.String startkey, int recordcount, java.util.Set<java.lang.String> fields, java.util.Vector<java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator>> result)
      Perform a range scan for a set of records in the database.
      int update​(java.lang.String table, java.lang.String key, java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
      Update a record in the database.
      • Methods inherited from class com.yahoo.ycsb.DB

        getProperties, getProperty, getProperty, getPropertyBool, getPropertyBool, getPropertyDouble, getPropertyDouble, getPropertyInt, getPropertyInt, getPropertyLong, getPropertyLong, setProperties
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _debug

        public boolean _debug
      • _writeToWal

        public boolean _writeToWal
      • _batchSize

        public int _batchSize
      • _columnFamily

        public java.lang.String _columnFamily
      • _columnFamilyBytes

        public byte[] _columnFamilyBytes
      • tableLock

        public static final java.lang.Object tableLock
    • Constructor Detail

      • HBaseClient

        public HBaseClient()
    • Method Detail

      • init

        public void init()
                  throws com.yahoo.ycsb.DBException
        Initialize any state for this DB. Called once per DB instance; there is one DB instance per client thread.
        Overrides:
        init in class com.yahoo.ycsb.DB
        Throws:
        com.yahoo.ycsb.DBException
      • cleanup

        public void cleanup()
                     throws com.yahoo.ycsb.DBException
        Cleanup any state for this DB. Called once per DB instance; there is one DB instance per client thread.
        Overrides:
        cleanup in class com.yahoo.ycsb.DB
        Throws:
        com.yahoo.ycsb.DBException
      • getHTable

        public org.apache.hadoop.hbase.client.HTable getHTable​(java.lang.String table)
      • read

        public int read​(java.lang.String table,
                        java.lang.String key,
                        java.util.Set<java.lang.String> fields,
                        java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> result)
        Read a record from the database. Each field/value pair from the result will be stored in a HashMap.
        Specified by:
        read in class com.yahoo.ycsb.DB
        Parameters:
        table - The name of the table
        key - The record key of the record to read.
        fields - The list of fields to read, or null for all of them
        result - A HashMap of field/value pairs for the result
        Returns:
        Zero on success, a non-zero error code on error
      • scan

        public int scan​(java.lang.String table,
                        java.lang.String startkey,
                        int recordcount,
                        java.util.Set<java.lang.String> fields,
                        java.util.Vector<java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator>> result)
        Perform a range scan for a set of records in the database. Each field/value pair from the result will be stored in a HashMap.
        Specified by:
        scan in class com.yahoo.ycsb.DB
        Parameters:
        table - The name of the table
        startkey - The record key of the first record to read.
        recordcount - The number of records to read
        fields - The list of fields to read, or null for all of them
        result - A Vector of HashMaps, where each HashMap is a set field/value pairs for one record
        Returns:
        Zero on success, a non-zero error code on error
      • update

        public int update​(java.lang.String table,
                          java.lang.String key,
                          java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
        Update a record in the database. Any field/value pairs in the specified values HashMap will be written into the record with the specified record key, overwriting any existing values with the same field name.
        Specified by:
        update in class com.yahoo.ycsb.DB
        Parameters:
        table - The name of the table
        key - The record key of the record to write
        values - A HashMap of field/value pairs to update in the record
        Returns:
        Zero on success, a non-zero error code on error
      • insert

        public int insert​(java.lang.String table,
                          java.lang.String key,
                          java.util.HashMap<java.lang.String,​com.yahoo.ycsb.ByteIterator> values)
        Insert a record in the database. Any field/value pairs in the specified values HashMap will be written into the record with the specified record key.
        Specified by:
        insert in class com.yahoo.ycsb.DB
        Parameters:
        table - The name of the table
        key - The record key of the record to insert.
        values - A HashMap of field/value pairs to insert in the record
        Returns:
        Zero on success, a non-zero error code on error
      • delete

        public int delete​(java.lang.String table,
                          java.lang.String key)
        Delete a record from the database.
        Specified by:
        delete in class com.yahoo.ycsb.DB
        Parameters:
        table - The name of the table
        key - The record key of the record to delete.
        Returns:
        Zero on success, a non-zero error code on error
      • main

        public static void main​(java.lang.String[] args)