Пример #1
0
use Hbase\Mutation;
use Hbase\TScan;
$socket = new TSocket('localhost', 9090);
$socket->setSendTimeout(10000);
// Ten seconds (too long for production, but this is just a demo ;)
$socket->setRecvTimeout(20000);
// Twenty seconds
$transport = new TBufferedTransport($socket);
$protocol = new TBinaryProtocol($transport);
$client = new HbaseClient($protocol);
try {
    $transport->open();
    $table = 'note';
    $filter = "QualifierFilter(>=, 'binary:1500')";
    // greater than 1500
    $scan = new TScan(array('startRow' => 'rowkey-1', 'stopRow' => 'rowkey-2', 'filterString' => $filter, 'sortColumns' => true));
    $scanid = $client->scannerOpenWithScan($table, $scan, null);
    $rowresult = $client->scannerGet($scanid);
    // print_r($rowresult);
    echo "\nrow: {$rowresult[0]->row}, cols: \n\n";
    // 위에 TScan에 sortColumns 옵션을 안주면 $rowresult[0]->columns 로 접근.
    $values = $rowresult[0]->sortedColumns;
    // asort($values);
    foreach ($values as $k => $v) {
        echo "  {$k} => {$v->value}\n";
    }
    $client->scannerClose($scanid);
    $transport->close();
} catch (TException $e) {
    print 'TException: ' . $e->__toString() . ' Error: ' . $e->getMessage() . "\n";
}
Пример #2
0
}
$table_name = "table1";
$row_name = "row_name";
$arr = $client->getRow($table_name, $row_name, null);
// $client->getRow return a array
foreach ($arr as $k => $TRowResult) {
    // $k = 0 ; non-use
    // $TRowResultTRowResult = TRowResult
    var_dump($TRowResult);
}
//scannerOpenWithStop($tableName, $startRow, $stopRow, $columns);
$table_name = 'zTest';
$startRow = "9-9-20120627-";
$stopRow = "9-9-20120627_";
$columns = array('info:');
$result = $client->scannerOpenWithStop($table_name, $startRow, $stopRow, $columns, null);
while (true) {
    $record = $client->scannerGet($result);
    if ($record == null) {
        break;
    }
    foreach ($record as $TRowResult) {
        $row = $TRowResult->row;
        $column = $TRowResult->columns;
        foreach ($column as $family_column => $Tcell) {
            echo "{$family_column}={$Tcell->value}<br>";
            echo "timestamp is {$Tcell->timestamp}";
        }
    }
}
$transport->close();