Connecting to QDS Using SQLAlchemy-Qubole Package
Here is an example to connect to QDS and submit a Presto query:
# Qubole presto
from sqlalchemy import create_engine
engine = create_engine('qubole+presto://presto/presto_cluster?endpoint=https://api.qubole.com;password=********;catalog_name=hive')
with engine.connect() as con:
rs = con.execute('SHOW TABLES')
for row in rs:
print(row)
In the create_engine
method, enter an SQLAlchemy URI to connect to QDS Presto or Hive. Below are the different Qubole
dialects supported by SQLAlchemy:
Presto Dialect:
qubole+presto://presto/<cluster-label>?endpoint=<env>;password=<API-TOKEN>;catalog_name=hive
(Qubole Dialect points to Presto by default.)Hive Dialect:
qubole+hive://hive/<cluster-label>?endpoint=<env>;password=<API-TOKEN>
Note
While providing the dialects, replace <cluster-label>
, <env>
(Qubole environment), and <API-TOKEN>
with their respective values.
You could add additional JDBC parameters and separate them with a semicolon(;). For more information on JDBC connection properties, see Setting the JDBC Connection String.