PyQubole
A watered down version of Qubole's Python connector providing a much simpler API to interact with for running streaming queries or submitting a job and rerieving its output at a later time (sync or async). Allowing for easy use in notebooks or integration in projects without much overhead. Based on Qubole QDS-SDK-Py https://github.com/qubole/qds-sdk-py
Installtion
From PyPI
The library is available on PyPI - PyQubole.
$ pip install qubolepystream
From Source
•Get source code: SSH git@github.com:achilleasatha/PyQubole.git or HTTPS https://github.com/achilleasatha/PyQubole.git
•Install by running python setup.py install
API
You can find an example application in example/main.py including a Spark command example example/spark_example.py.
More info on running Spark commands: Qubole docs - Submit a Spark command
An example application needs to do:
- Import the lib
from qubolepystream.connector import QuboleConnector - Set the api_token and instantiate the connection
con = QuboleConnector(api_token='api_token') - Use the query data method to run a job, specifying the input query, engine and cluster (or just job_id):
data = con.query_data(sql_query=query, job_id=None, engine='Hive', cluster='Hive_cluster_name', verbose=False)
Note:
a) Query can be passed as a raw string query = r"""select * from table""" or from a file: query = open('query.sql').read()
b) If job_id = None the query will be executed on the engine specified ('Hive', 'Presto' or 'Spark'')
c) If job_id = '123456' then the results of the job will be retrieved (if job status is done)
d) You can use the optional method verbose = True / False to get streaming logs output or only status updates
Metadata
Release files for qubolepystream 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qubolepystream-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for qubolepystream-0.8.0-py3-none-any.whl |
Release files / qubolepystream-0.8.0-py3-none-any.whl
| Download URL | qubolepystream-0.8.0-py3-none-any.whl |
|---|---|
| Size | 3.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7e0e522410f5b1753e4b9fdf790f35b00889c46913ffada55c37c04d3e822b5
|
|
BLAKE2b-256 checksum How to use checksums |
355fa80b57b7aa9d5c99df671a8f5c1234cf2b77743998888848958c8dd167a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
|
Security for qubolepystream 0.8.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.