INACTIVE - http://mzl.la/ghe-archive - Python interface to Hive and Presto. 🐝
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
Jing Wang a144ece773 Tweak SQLAlchemy URL format 2014-02-03 00:21:02 -08:00
pyhive Tweak SQLAlchemy URL format 2014-02-03 00:21:02 -08:00
scripts Add Hive backend, refactor common code, fix bugs 2014-02-03 00:21:02 -08:00
.gitignore Tweak setup.py and gitignore 2014-02-03 00:21:02 -08:00
README.rst Tweak SQLAlchemy URL format 2014-02-03 00:21:02 -08:00
setup.py Tweak setup.py and gitignore 2014-02-03 00:21:02 -08:00

README.rst

PyHive
======

PyHive is a collection of python DBAPI and SQLAlchemy wrappers for Presto's REST interface and
HiveServer2's Thrift interface.

Usage
=====

DBAPI::

    cursor = presto.connect('localhost').cursor()
    cursor.execute('SELECT * FROM user LIMIT 10')
    print cursor.fetchone()
    print cursor.fetchall()

SQLAlchemy::

    engine = create_engine('presto://localhost:8080/hive/default')
    metadata = MetaData(bind=engine)
    user = Table('user', metadata, autoload=True)
    print select([func.count('*')], from_obj=user).scalar()

Requirements
============

- Presto DBAPI: Just a Presto install
- Hive DBAPI: HiveServer2 daemon, `TCLIService`, `thrift`, `sasl`, `thrift_sasl`
- SQLAlchemy integration: `sqlalchemy` version 0.5

Testing
=======

Run the following in an environment with Hive/Presto::

    ./scripts/make_test_tables.sh
    python setup.py test