スポンサーリンク

このドキュメントの内容は、以下の通りです。

今回は、PHP で Thrift を使い、 Hbase から行を取得します。

テーブルの作成


./bin/hbase shell で hbase にテーブルを作成しておきます。

create 't1', 'f1'

このようなデータが入ってるとします。

hbase(main):005:0> scan 't1'
ROW                                                           COLUMN+CELL
 row1                                                         column=f1:0, timestamp=1336841239583, value=0
 row1                                                         column=f1:1, timestamp=1336841239583, value=1
 row1                                                         column=f1:2, timestamp=1336841239583, value=2
 row1                                                         column=f1:3, timestamp=1336841239583, value=3
 row1                                                         column=f1:4, timestamp=1336841239583, value=4
 row1                                                         column=f1:5, timestamp=1336841239583, value=5
 row1                                                         column=f1:6, timestamp=1336841239583, value=6
 row1                                                         column=f1:7, timestamp=1336841239583, value=7
 row1                                                         column=f1:8, timestamp=1336841239583, value=8
 row1                                                         column=f1:9, timestamp=1336841239583, value=9
1 row(s) in 0.3210 seconds

hbase(main):006:0>

サンプルコード


<?php

$GLOBALS['THRIFT_ROOT'] = 'src/';
include 'gen-php/Hbase/Hbase_types.php';
include 'gen-php/Hbase/Hbase.php';

include 'src/transport/TSocket.php';
include 'src/transport/TBufferedTransport.php';
include 'src/protocol/TBinaryProtocol.php';

function hbase_test ()
{
	$server = 'localhost';
	$port = 9090;
	try {
		$socket = new TSocket ($server, $port);

		$transport = new TBufferedTransport ($socket);

		$protocol = new TBinaryProtocol ($transport);
		//$client = new HbaseClient ($input, $output);
		$client = new HbaseClient ($protocol);

		$transport->open ();

		$table = 't1';
		$mutations = array ();
		$family = 'f1';
		$row = 'row1';

		$rows = $client->getRow ($table, $row);

		var_dump ($rows);


	} catch (TException $e) {
		error_log ('TException');
		error_log ($e);
	} catch (Exception $e) {
		error_log ('Exception');
		error_log ($e);
	}
}

hbase_test ();

結果


array(1) {
  [0]=>
  object(TRowResult)#6 (2) {
    ["row"]=>
    string(4) "row1"
    ["columns"]=>
    array(10) {
      ["f1:0"]=>
      object(TCell)#8 (2) {
        ["value"]=>
        string(1) "0"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:1"]=>
      object(TCell)#9 (2) {
        ["value"]=>
        string(1) "1"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:2"]=>
      object(TCell)#10 (2) {
        ["value"]=>
        string(1) "2"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:3"]=>
      object(TCell)#11 (2) {
        ["value"]=>
        string(1) "3"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:4"]=>
      object(TCell)#12 (2) {
        ["value"]=>
        string(1) "4"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:5"]=>
      object(TCell)#13 (2) {
        ["value"]=>
        string(1) "5"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:6"]=>
      object(TCell)#14 (2) {
        ["value"]=>
        string(1) "6"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:7"]=>
      object(TCell)#15 (2) {
        ["value"]=>
        string(1) "7"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:8"]=>
      object(TCell)#16 (2) {
        ["value"]=>
        string(1) "8"
        ["timestamp"]=>
        float(1336841239583)
      }
      ["f1:9"]=>
      object(TCell)#17 (2) {
        ["value"]=>
        string(1) "9"
        ["timestamp"]=>
        float(1336841239583)
      }
    }
  }
}

あわせて読む


参照しているページ (サイト内): [2012-04-04-1] [2012-04-03-1] [2012-04-02-1]

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー