警告
由于技术问题,ByteHouse Python 驱动程序目前正在进行维护和更新,此文档介绍的内容可能暂时失效。
我们建议您暂时使用开源ClickHouse Python Driver驱动程序。
ByteHouse 提供了支持 Python 数据库 API 规范 v2.0 的驱动程序。 本文将介绍如何通过 Python 驱动的方式连接并访问 ByteHouse 云数仓。
请访问 github 项目主页,获取ByteHouse Python 驱动最新的文档和发布版本。
说明
需要 Python 3.7 或更高版本的支持。
可以通过如下命令,获取最新发布版本的 bytehouse-driver。
pip3 install bytehouse-driver
开发版本通过如下命令安装。
pip3 install git+https://github.com/bytehouse-cloud/driver-py@main#egg=bytehouse-driver
根据您的 Python 版本,您可能需要安装以下依赖项:
请参考获取 ByteHouse 连接信息,了解如何通过 API_KEY的方式连接到ByteHouse。
可参考下面代码样例,注意替换连接语句中的client设置中的HOST
、PORT
和 API_KEY
字段。
from bytehouse_driver import Client #Passing Parameters client = Client( host=<your host>, port=19000, user=bytehouse, password=<your api_key>, vw="<your virtual_warehouse name>" ) ### DDL Query client.execute("CREATE DATABASE demo_db") client.execute("CREATE TABLE demo_db.demo_tb (id INT) ENGINE=CnchMergeTree() ORDER BY tuple()") ### DML Query client.execute("INSERT INTO demo_db.demo_tb VALUES", [[1], [2], [3]]) ### DQL Query result_set = client.execute("SELECT * FROM demo_db.demo_tb") for result in result_set: print(result) client.execute("DROP DATABASE demo_db")