fatrbaby/hellobase

Hbase client php wrapper, via thirft

1.0.0 2019-09-18 10:41 UTC

This package is auto-updated.

Last update: 2024-04-18 21:38:18 UTC


README

H(ello)base

installation

composer require fatrbaby/hellobase

usage

use HelloBase\Connection;

$config = [
    'host' => 'localhost',
    'port' => '9090',
    'auto_connect' => false,
    'persist' => false,
    'debug_handler' => null,
    'send_timeout' => 1000000,
    'recv_timeout' => 1000000,
    'transport' => Connection::TRANSPORT_BUFFERED,
    'protocol' => Connection::PROTOCOL_BINARY_ACCELERATED,
];

$connection = new Connection($config);
$connection->connect();

# get tables 
$connection->tables();

# get table instance
$table = $connection->table('tableName');

# put data
$table->put('row-name', ['cf:foo' => 'bar']);

# get row
$table->row('row-name', ['column1', ...]);

# get rows
$table->rows(['row-name1', 'row-name2', ...], ['column1', ...]);

# increment 
$table->increment('row-name', 'column-name', int amount)

# scan
foreach($table->scan(<startRow>, <stopRow>, <['column1', ...]>, <['condition1', ...]>) as $row => $columns) {
    // do something
}

run test

# create hbase service by docker (docker-compose)
$ cd docker
$ docker-compose up -d

# create table in docker
$ docker exec -it hbase bash
$ hbase shell

> create 'hellobase', 'hb'
> list
> quit

$ exit 

# run test
cd ../
vendor/bin/phpunit

TODO

more features