You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Billy Pearson (JIRA)" <ji...@apache.org> on 2009/08/22 21:08:14 UTC

[jira] Resolved: (HBASE-37) PHP class for Rest Interface

     [ https://issues.apache.org/jira/browse/HBASE-37?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Billy Pearson resolved HBASE-37.
--------------------------------

    Resolution: Won't Fix

just added to help out others closed

> PHP class for Rest Interface
> ----------------------------
>
>                 Key: HBASE-37
>                 URL: https://issues.apache.org/jira/browse/HBASE-37
>             Project: Hadoop HBase
>          Issue Type: New Feature
>          Components: rest
>            Reporter: Billy Pearson
>            Priority: Trivial
>         Attachments: hbase_rest.php, hbase_restv2.php
>
>
> 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.