PyHive
PyHive is a collection of Python DB-API and SQLAlchemy interfaces for Presto and Hive.
Usage
DB-API
from pyhive import presto
cursor = presto.connect('localhost').cursor()
cursor.execute('SELECT * FROM my_awesome_data LIMIT 10')
print cursor.fetchone()
print cursor.fetchall()
SQLAlchemy
First install this package to register it with SQLAlchemy (see setup.py).
from sqlalchemy import *
from sqlalchemy.engine import create_engine
from sqlalchemy.schema import *
engine = create_engine('presto://localhost:8080/hive/default')
logs = Table('my_awesome_data', MetaData(bind=engine), autoload=True)
print select([func.count('*')], from_obj=logs).scalar()
Requirements
Python 2.7
For Presto: Just a Presto install
For Hive
HiveServer2 daemon
TCLIService (from Hive in /usr/lib/hive/lib/py)
thrift_sasl (from Cloudera)
Testing
Run the following in an environment with Hive/Presto:
./scripts/make_test_tables.sh virtualenv env source env/bin/activate pip install -r dev_requirements.txt py.test
WARNING: This drops/creates tables named one_row, one_row_complex, and many_rows.
Metadata
Release files for PyHive 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| PyHive-0.1.0.tar.gz | 20.4 kB | Details |
Release files / PyHive-0.1.0.tar.gz
| Download URL | PyHive-0.1.0.tar.gz |
|---|---|
| Size | 20.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e31a69f0790d92da69ad521e173498e5c896b89debddb8ddb00a46d1a5234653
|
|
BLAKE2b-256 checksum How to use checksums |
eda8ba659a03c22fd0577ca673348a890ef9039efe87ed82f3ca67ea3d68c0f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |