Databricks SQL framework, easy to learn, fast to code, ready for production.
Project description
Databricks SQL
Databricks SQL framework, easy to learn, fast to code, ready for production.
Installation
$ pip install databricks-sql
Configuration
from databricks_sql.client import Configuration
CONFIGURATION = Configuration.instance(
access_token="",
command_directory="",
http_path="",
server_hostname="",
)
Usage
Databricks SQL usage description:
Delete
Delete with where
from databricks_sql.client import Database
with Database() as connection:
(
connection
.delete("catalog.schema.table")
.where("id", "994238a4-8c18-436a-8c06-29ec89c4c056")
.execute()
)
Delete with where condition
from databricks_sql.client import Database
with Database() as connection:
(
connection
.delete("catalog.schema.table")
.where("description", "%Databricks%", operator="LIKE")
.execute()
)
Execute
from databricks_sql.client import Database
with Database() as connection:
(
connection
.execute(
"""
CREATE TABLE IF NOT EXISTS catalog.schema.table (
id STRING NOT NULL,
name STRING NOT NULL,
description STRING,
CONSTRAINT table_primary_key PRIMARY KEY(id)
) USING DELTA
""",
parameters=None,
skip_load=True,
)
)
Insert
from databricks_sql.client import Database
with Database() as connection:
(
connection
.insert("catalog.schema.table")
.set("id", "994238a4-8c18-436a-8c06-29ec89c4c056")
.set("name", "Name")
.set("description", "Description")
.execute()
)
Paging
Paging with where condition
from databricks_sql.client import Database
with Database() as connection:
(
connection
.select("catalog.schema.table")
.fields("id", "name", "description")
.where("name", "%Databricks%", operator="LIKE")
.order_by("id")
.paging(0, 10)
)
Paging without where condition
from databricks_sql.client import Database
with Database() as connection:
(
connection
.select("catalog.schema.table")
.paging(0, 10)
)
Select
Fetch all
from databricks_sql.client import Database
with Database() as connection:
(
connection
.select("catalog.schema.table")
.execute()
.fetch_all()
)
Fetch many
from databricks_sql.client import Database
with Database() as connection:
(
connection
.select("catalog.schema.table")
.execute()
.fetch_many(1)
)
Fetch one
from databricks_sql.client import Database
with Database() as connection:
(
connection
.select("catalog.schema.table")
.execute()
.fetch_one()
)
Select by file
from databricks_sql.client import Database
with Database() as connection:
(
connection
.execute("command.sql", {"id": "994238a4-8c18-436a-8c06-29ec89c4c056"})
.fetch_one()
)
Select by command
from databricks_sql.client import Database
with Database() as connection:
(
connection
.execute("SELECT id, name, description FROM catalog.schema.table WHERE id = %(id)s", {"id": "994238a4-8c18-436a-8c06-29ec89c4c056"})
.fetch_one()
)
Update
Update with where
from databricks_sql.client import Database
with Database() as connection:
(
connection
.update("catalog.schema.table")
.set("name", "New Name")
.set("description", "New Description")
.where("id", "994238a4-8c18-436a-8c06-29ec89c4c056")
.execute()
)
Update with where all
from databricks_sql.client import Database
with Database() as connection:
(
connection
.update("catalog.schema.table")
.set("name", "New Name")
.set("description", "New Description")
.where_all({"id": "994238a4-8c18-436a-8c06-29ec89c4c056", "name": "Name", "description": "Description"})
.execute()
)
Using mustache
SQL
select
id,
name,
description
from catalog.schema.table
where 1 = 1
{{#id}}
and id = %(id)s
{{/id}}
{{#name}}
and name like %(name)s
{{/name}}
Select with filters
from databricks_sql.client import Database
with Database() as connection:
(
connection
.execute("command.sql", parameters={"id": "994238a4-8c18-436a-8c06-29ec89c4c056", "name": "Name"})
.fetch_one()
)
License
This project is licensed under the terms of the Apache License 2.0.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
databricks_sql-1.0.0.tar.gz
(8.6 kB
view details)
Built Distribution
File details
Details for the file databricks_sql-1.0.0.tar.gz
.
File metadata
- Download URL: databricks_sql-1.0.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.8.15 Linux/5.15.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3817b209fcb4b840b4287fe9bc5e90081178a70c89b5fa2dd58a226c7305adc7 |
|
MD5 | e1511c871331a8843aefc77646586293 |
|
BLAKE2b-256 | 85a0b89bf51cadbf67913a33a0258b1362b7ca6cf526adfb465641916e62a0ac |
File details
Details for the file databricks_sql-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: databricks_sql-1.0.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.8.15 Linux/5.15.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4693df00703e05c00eae4e0355a738d41f571fa93658ad22eb9f30e80299f446 |
|
MD5 | 477d37531ef0a49d38806073b54e5f5d |
|
BLAKE2b-256 | 86c0ad5be27199d32e3de59478358a6939dd250f1c9c4e220b69d210e1159593 |