You need to enable JavaScript to run this app.
导航

ByteHouse Python Driver

最近更新时间2024.04.09 15:45:20

首次发布时间2023.08.04 16:09:50

ByteHouse 提供了支持 Python 数据库 API 规范 v2.0 的驱动程序。 本文将介绍如何通过 Python 驱动的方式连接并访问 ByteHouse 云数仓。
请访问 github 项目主页,获取ByteHouse Python 驱动最新的文档和发布版本。

说明

需要 Python 3.7 或更高版本的支持。

程序安装

从 PyPI 安装

可以通过如下命令,获取最新发布版本的 bytehouse-driver。

pip3 install bytehouse-driver

从 github 安装

开发版本通过如下命令安装。

pip3 install git+https://github.com/bytehouse-cloud/driver-py@main#egg=bytehouse-driver

安装依赖项

根据您的 Python 版本,您可能需要安装以下依赖项:

  1. pytz : 用于执行时区计算的 pytz 库;
  2. enum34 :用于支持 python 3.4 版本开始提供的内置枚举类。

连接与身份验证

请参考获取 ByteHouse 连接信息,了解如何通过 API_KEY的方式连接到ByteHouse。

基本用法

数据插入与数据查询

可参考下面代码样例,注意替换连接语句中的client设置中的HOSTPORTAPI_KEY字段。

from bytehouse_driver import Client

#Passing Parameters
client = Client.from_url('bytehouse://{}:{}/?user=bytehouse&password={}'.format(HOST, PORT, API_KEY)
)

### 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")