Apache Doris dialect for SQLAlchemy
Project description
Apache Doris Dialect for SQLAlchemy
This is an unofficial implementation forked from pydoris
Features
- support SQLAlchemy 2.
- support pymysql and mysqlclient as driver.
- support SQLAlchemy table creation
Installation
Use
pip install sqlalchemy-doris[pymysql]
for pymysql.
Or
pip install sqlalchemy-doris[mysqldb]
for mysqlclient.
Note sqlalchemy-doris uses pymysql as default connector for compatibility. If both pymysql and mysqlclient are installed, mysqlclient is preferred.
Usage
from sqlalchemy import create_engine
engine = create_engine(f"doris+pymysql://{user}:{password}@{host}:{port}/{database}?charset=utf8mb4")
# or
engine = create_engine(f"doris+mysqldb://{user}:{password}@{host}:{port}/{database}?charset=utf8mb4")
Create Table
import sqlalchemy as sa
from sqlalchemy import create_engine
from sqlalchemy_doris import datatype
from sqlalchemy_doris import HASH, RANGE
engine = create_engine(f"doris://{user}:{password}@{host}:{port}/{database}?charset=utf8mb4")
metadata_obj = sa.MetaData()
table_obj = sa.Table(
'test_table',
metadata_obj,
sa.Column("id", datatype.Integer),
doris_unique_key=('id', ),
doris_partition_by=RANGE('id'),
doris_distributed_by=HASH('id'),
doris_properties={"replication_allocation": "tag.location.default: 1"}
)
metadata_obj.create_all(engine)
SQL is
CREATE TABLE test_table (
id INTEGER
)
UNIQUE KEY (`id`)
PARTITION BY RANGE(`id`) ()
DISTRIBUTED BY HASH(`id`) BUCKETS auto
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for sqlalchemy_doris-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8934d2804ff3548ca6d07fa78b86d83c76786d0c8536d1affabb9b681a1b11c2 |
|
MD5 | ccbe3757a258d5317ddbb443a220ebe9 |
|
BLAKE2b-256 | 930e88aa88c55cba88364065e6c3cb4574883e8a5547203711bfc1787a65d09a |