Skip to main content

User friendly HBase client for Python 3. (Pure python implementation)

Project description

(The development of this package has not finished.)

hbase-python is a python package used to work HBase.

It is now tested under HBase 1.2.6.

Before using HBase, we are familiar with MongoDB and pymongo. While, when coming to HBase, we found it is not easy to access the database via python. So, I spent some days to start this project and hope it can be helpful to our daily research work. The thought of this package comes from “happybase” and “starbase”, and I am trying to make the API behaves like “pymongo”.

Dependencies

  • Python 3.4+
  • requests

Installation

The package can be installed from PyPI repository:

pip3 install hbase-python

Examples

Get a row by key:

import hbase

zk = 'sis3.ustcdm.org:2181,sis4.ustcdm.org:2181'

if __name__ == '__main__':
    with hbase.ConnectionPool(zk).connect() as conn:
        table = conn['mytest']['videos']
        row = table.get('00001')
        print(row)
    exit()

Scan a table:

import hbase

zk = 'sis3.ustcdm.org:2181,sis4.ustcdm.org:2181'

if __name__ == '__main__':
    with hbase.ConnectionPool(zk).connect() as conn:
        table = conn['mytest']['videos']
        for row in table.scan():
            print(row)
    exit()

Put a record to a table:

import hbase

zk = 'sis3.ustcdm.org:2181,sis4.ustcdm.org:2181'

if __name__ == '__main__':
    with hbase.ConnectionPool(zk).connect() as conn:
        table = conn['mytest']['videos']
        table.put(hbase.Row(
            '0001', {
                'cf:name': b'Lily',
                'cf:age': b'20'
            }
        ))
    exit()

Write a file to a table:

import hbase

zk = 'sis3.ustcdm.org:2181,sis4.ustcdm.org:2181'

if __name__ == '__main__':
    with hbase.ConnectionPool(zk).connect() as conn:
        table = conn['mytest']['videos']
        table.write_file(video_file)  # default filename is "test_video.mp4"
    exit()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hbase-python, version 0.5
Filename, size File type Python version Upload date Hashes
Filename, size hbase_python-0.5-py3-none-any.whl (137.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page