hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Billy Pearson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-2546) PHP class for Rest Interface
Date Tue, 08 Jan 2008 06:25:34 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-2546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556829#action_12556829

Billy Pearson commented on HADOOP-2546:

There is still a problem and I ma not sure if its my code or something with in the rest code
but there is a memory usage after using it to insert a few million rows the master or/and
the separate rest process (HADOOP-2316) runs out of heap memory there is something using up
memory and not releasing it. I have seen it on inserts but have not tested for it much more
then that. I run a separate rest process outside of the master so I can kill that with out
having to restart the master and the whole cluster.

> 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
>         Attachments: hbase_rest.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.

View raw message