Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-37

PHP class for Rest Interface

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Trivial
    • Resolution: Won't Fix
    • None
    • None
    • REST
    • None

    Description

      This is a php class to interact with the rest interface this is my first copy so there could be bugs and changes to come as the rest interface changes. I will make this in to a patch once I am done with it. there is lots of comments in the file and notes on usage but here is some basic stuff to get you started. you are welcome to suggest changes to make it faster or more usable.

      Basic Usage here more details in notes with each function

      // open a new connection to rest server. Hbase Master default port is 60010
      $hbase = new hbase_rest($ip, $port);

      // get list of tables
      $tables = $hbase->list_tables();

      // get table column family names and compression stuff
      $table_info = $hbase->table_schema("search_index");

      // get start and end row keys of each region
      $regions = $hbase->regions($table);

      // select data from hbase
      $results = $hbase->select($table,$row_key);

      // insert data into hbase the $column and $data can be arrays with more then one column inserted in one request
      $hbase->insert($table,$row,$column(s),$data(s));

      // delete a column from a row. Can not use * at this point to remove all I thank there is plans to add this.
      $hbase->remove($table,$row,$column);

      // start a scanner on a set range of table
      $handle = $hbase->scanner_start($table,$cols,$start_row,$end_row);

      // pull the next row of data for a scanner handle
      $results = $hbase->scanner_get($handle);

      // delete a scanner handle
      $hbase->scanner_delete($handle);

      Example of using a scanner this will loop each row until it out of rows.

      include(hbase_rest.php);
      $hbase = new hbase_rest($ip, $port);
      $handle = $hbase->scanner_start($table,$cols,$start_row,$end_row);
      $results = true;
      while ($results){
      $results = $hbase->scanner_get($handle);
      if ($results){
      foreach($results['column'] as $key => $value)

      { .... code here to work with the $key/column name and the $value of the column .... }

      // end foreach
      } // end if
      }// end while
      $hbase->scanner_delete($handle);

      Attachments

        1. hbase_restv2.php
          17 kB
          Billy Pearson
        2. hbase_rest.php
          17 kB
          Billy Pearson

        Issue Links

          Activity

            People

              Unassigned Unassigned
              viper799 Billy Pearson
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: