欢迎光临散文网 会员登陆 & 注册

Databend 玩转 Local 模式

2023-09-14 11:14 作者:Databend  | 我要投稿

目前开发者们需要尝鲜 Databend, 可以选择使用 Databend Cloud 或者按官方文档部署 Databend 服务。 由于 Databend 架构有三层,因此部署 Databend 服务一般需要启动 "databend-query", "databend-meta" , "minio" 三个进程,同时需要修改端口等配置项,流程上略显复杂。 有没有更快的方式可以快速尝鲜 Databend 呢?

Python Binding

一种快速的方式是将 Databend 跑在 python 中,借助 rust 优良的生态,我们基于 pyo3 库发布了 python binding,可以在本地 juypter 或者 colab 等在线服务中使用 Databend:


Databend Local 模式

借鉴于 "clickhouse-local" , "duckdb" 等嵌入型数据库的优点,我们在 Databend 中也可以开启 local模式。

"local" 模式 是一个 Databend 的简易版本,用户无需部署 Databend 服务即可在命令中用SQL 和 Databend 交互。它的好处在于简化了开发安装,同时方便开发者们用 SQL 使用Databend 支持的功能进行简单的数据处理。 如果你需要在生产环境使用 Databend,我们建议按官网推荐部署 Databend服务或 Databend Cloud,但如果你是开发人员或测试工程师,你可以使用 "local" 模式 来玩转 Databend。

"local" 模式将启动一个临时的 databend-query 进程,这个进程融合了 客户端和服务端,并且他的存储是在临时目录中,生命周期跟随进程,进程离开后资源也将销毁,你可以在一个服务器中启动多个 "local" 进程,他们的资源是相互隔离的。

下面通过例子介绍一下,每个例子都是简短的几行命令,介绍 local 模式可以实现什么功能。

在这之前,你需要下载 databend-query 二进制,然后将二进制放到 PATH 环境变量中,植入

`  bend-local` 工具别名

  • 命令行交互 ( REPL ) 模式

    • 直接在终端输入 bend-local 这一行命令后,我们将进入 REPL 模式,这里融合了客户端和服务端,类似 duckdb cli 工具使用。

值得注意的是,bend-local 支持配置文件 "~/.config/databend/config.toml" 来做一些个性化客户端配置,配置文件的格式和 bendsql 是兼容的。

  • 一行命令生成一个parquet 文件

    • 支持 --query, --output-format 参数 传入查询SQL 和 输出格式


  • Shell pipe 模式分析数据,  $STDIN 宏将解析 stdin 流作为一个临时 stage 表


注意上面的SQL在shell中,使用了 $ 来对shell进行转义

  • 读取 stage table (本地文件,外部 s3 等)

  • 分析系统进程 ,找出每个用户占用的内存

  • 数据清洗,将一个格式转换为其他格式 (支持csv, tsv, parquet, ndjson 等)

  • 其他好玩的分析例子,等待你的挖掘

Databend 玩转 Local 模式的评论 (共 条)

分享到微博请遵守国家法律