Python interface to Hive
Project description
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
Install using pip install pyhive.
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)
There’s also a third party Conda package.
Testing
Run the following in an environment with Hive/Presto:
./scripts/make_test_tables.sh virtualenv --no-site-packages 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, plus a database called pyhive_test_database.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PyHive-0.1.4.tar.gz
(21.0 kB
view details)
File details
Details for the file PyHive-0.1.4.tar.gz
.
File metadata
- Download URL: PyHive-0.1.4.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90988a81363a53ec866c2ccc77c2e5e325513973bbaffd19527180a366292b17 |
|
MD5 | 059ae3efa3a4ab929eeef91a5f471e69 |
|
BLAKE2b-256 | 66dc51b536dd30e1f2e8b267d17d62cebe5b3e2b9578342d5370d3237922c3cb |