ByteHouse CLI

ByteHouse CLI 是一个命令行应用程序,用于以最直接的方式与 Bytehouse 服务交互

安装

MacOS

brew tap bytehouse-cloud/homebrew-core
brew install bytehouse-cli

Linux

wget -o bytehouse-cli https://github.com/bytehouse-cloud/cli/releases/download/v1.5.21/bytehouse-linux-amd64
chmod +x bytehouse-cli 

# You might want to add this binary executable to your `~/.bashrc` as alias, or `~/.zshrc`l
echo "alias bytehouse-cli=\"$(pwd)/bytehouse-cli\"" > ~/.bashrc

Windows

从以下位置下载应用程序: 
https://github.com/bytehouse-cloud/cli/releases/download/v1.5.21/bytehouse-windows-amd64

开始使用

凭据

您需要开始使用以下几个凭据

  • 帐户名称
  • 用户名
  • 密码
  • 地区

注意:您需要的信息与使用 Web UI 登录所需的信息相同。

2310

如果不确定,您也可以在 Web 控制台的右上角查看详情。

1280

启动应用程序

启动应用程序的最简单方法是在命令行或 Powershell 中运行应用程序。

使用标志

当通过指定标志启动应用程序时,标志的值的格式为
--<flag> 值 ,例如 --user mary
标志还有别名,请参见参考:别名
启动 bytehouse cli 的示例如下所示:

bytehouse-cli --user <user name> --account <account name> --password <password> --region <region name> --secure

# Example
$ bytehouse-cli --user bob --account AWSXXX --password coolbob --region cn-north-1 --secure
  • 注意:当连接 bytehouse 的公共域时,需提供 --secure 标志

使用配置文件

有时将所有标志放在一个配置文件中,可以更方便,更容易管理。当使用配置文件时,还可以在配置文件中指定查询设置。可以使用 -cf 标志,并以配置文件的路径作为值。
有关配置文件的完整用法,请参阅参考:配置文件
配置文件及使用的示例如下所示:

$ cat bytehouse_conf.toml
# Settings for connection
account = "AWSXXXXX"
user = "bob"
password = "coolbob"
region = "cn-north-1"
secure = true

# Settings for query Settings
ansi_sql = true 

$ bytehouse-cli -cf bytehouse_conf.toml

非交互模式

有时可能由于正在编写 shell 脚本而无法进入交互模式。Bytehouse-cli 允许用户执行 SQL 命令并自动退出。

使用查询标志

如果使用 -q--query 标志启动 bytehouse-cli,将会执行 sql 语句,并且 bytehouse-cli 会在执行后立即退出。

$ bytehouse-cli -q "select 1"

使用 stdin

用户还可以允许 bytehouse-cli 使用 stdin 的输入。

$ echo "select 1" | bytehouse-cli

编写脚本

用户还可以编写 SQL 脚本并将输入通过管道传输到bytehouse cli

  • 查询用 ; 分隔

  • 查询将按顺序运行

  • 如果第一次查询执行返回错误,请停止继续执行

$ cat example.sql
CREATE DATABASE bob_db;
USE bob_db;
CREATE TABLE bob_numbers
(
   i Int32
)
ENGINE = CnchMergeTree
ORDER BY i;
SHOW CREATE TABLE bob_numbers;

$ bytehouse-cli < example.sql

# This is also accepted
$ cat example.sql | bytehouse-cli

数据插入

从文件中加载数据是一种非常常见的做法,下面是一些操作示例。

从查询

交互模式

Bytehouse » INSERT INTO bob_db.bob_number VALUES (1), (2), (3)

非交互模式

$ bytehouse-cli -q "INSERT INTO bob_db.bob_number VALUES (1), (2), (3)"

从本地文件

交互模式

Bytehouse » INSERT INTO bob_db.bob_number FORMAT csv INFILE 'path/to/data.csv'

非交互模式

$ bytehouse-cli -q "INSERT INTO bob_db.bob_number FORMAT csv" < 'path/to/data.csv'

数据导出

查询后用 INTO OUTFILE 语法可以将结果保存到本地文件。

Bytehouse » SELECT * FROM bob_db.bob_number INTO OUTFILE 'out.csv' format csv

版本检查

可以使用 -v--version 标志检查 ByteHouse CLI 的版本。指定标志时,ByteHouse CLI 不启动

$ bytehouse-cli -v
v1.5.2

帮助

使用 -h 标志或 --help 可以显示所有支持的标志

#To display all option and its alias
bytehouse-cli -h