PHP class for Rest Interface
----------------------------

                 Key: HADOOP-2546
                 URL: https://issues.apache.org/jira/browse/HADOOP-2546
             Project: Hadoop
          Issue Type: New Feature
          Components: contrib/hbase
            Reporter: Billy Pearson
            Priority: Trivial


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);



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to