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 登录所需的信息相同。
如果不确定,您也可以在 Web 控制台的右上角查看详情。
启动应用程序
启动应用程序的最简单方法是在命令行或 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
Updated over 2 years ago