使用 Rust 连接到 Databend
Databend 提供了一个用 Rust 编写的驱动程序(crates.io - databend-driver),该驱动程序便于使用 Rust 编程语言开发应用程序并与 Databend 建立连接。请注意,该驱动程序目前不支持处理数组。
有关安装说明、示例和源代码,请参阅 GitHub - databend-driver。
数据类型映射
下表展示了 Databend 通用数据类型与其对应的 Rust 类型的对应关系:
Databend | Rust |
---|---|
BOOLEAN | bool |
TINYINT | i8,u8 |
SMALLINT | i16,u16 |
INT | i32,u32 |
BIGINT | i64,u64 |
FLOAT | f32 |
DOUBLE | f64 |
DECIMAL | String |
DATE | chrono::NaiveDate |
TIMESTAMP | chrono::NaiveDateTime |
VARCHAR | String |
BINARY | Vec<u8> |
下表展示了 Databend 半结构化数据类型与其对应的 Rust 类型的对应关系:
Databend | Rust |
---|---|
ARRAY[T] | Vec<T> |
TUPLE[T, U] | (T, U) |
MAP[K, V] | HashMap<K, V> |
VARIANT | String |
BITMAP | String |
GEOMETRY | String |
Databend Rust 驱动程序行为总结
下表总结了 Rust 驱动程序的主要行为和功能及其用途:
函数名称 | 描述 |
---|---|
info | 返回客户端的连接信息。 |
version | 返回执行 SELECT VERSION() 语句的结果。 |
exec | 执行 SQL 语句并返回受影响的行数。 |
query_iter | 执行 SQL 查询并返回一个用于逐行处理结果的迭代器。 |
query_iter_ext | 执行 SQL 查询并返回一个包含结果统计信息的迭代器。 |
query_row | 执行 SQL 查询并返回单行结果。 |
get_presigned_url | 根据操作和 Stage 参数生成 PRESIGN 语句,返回 HTTP 方法、头部和 URL。 |
upload_to_stage | 上传数据到 Stage。默认使用 PRESIGN UPLOAD 的 URL,如果 PRESIGN 被禁用,则使用 v1/upload_to_stage API。 |
load_data | 上传数据到内置 Stage(upload_to_stage )并执行带有 stage attachment 的插入/替换操作。 |
load_file | 复用 load_data 逻辑上传文件并插入数据。 |
stream_load | 将数据读取为 Vec,转换为 CSV,然后调用 load_data 方法。 |
教程-1:使用 Rust 与 Databend 集成
在开始之前,请确保您已成功安装本地 Databend。详细步骤请参阅 本地和 Docker 部署