ClickHouse官方文档翻译_操作-工具-clickhouse-local

Posted by Lance Lee on Tuesday, June 2, 2020

TOC

clickhouse-local

clickHouse -local程序使您能够执行快速处理本地文件,而无需部署和配置ClickHouse服务器。

接收表示表的数据,并使用ClickHouse SQL方言查询它们。

clickhouse-local和ClickHouse服务器使用相同的内核,因此它支持大多数特性、相同的格式集和表引擎。

默认情况下,clickhouse-local不能访问同一台主机上的数据,但它支持加载服务器配置使用--config-file参数。

不建议将生产服务器配置加载到clickhouse-local中,因为数据可能会由于人为错误而损坏。

用法

基本用法:

$ clickhouse-local --structure "table_structure" --input-format "format_of_incoming_data" -q "query"

参数:

  • -S, --structure — 输入数据的表结构。
  • -if, --input-format — 输入格式,默认TSV
  • -f, --file — 路径的数据,默认为stdin
  • -q --query — 要执行的查询;为分隔符。
  • -N, --table — 放置输出数据的表名,table为默认。
  • -of, --format, --output-format — 输出格式,默认TSV
  • --stacktrace — 在异常情况下是否转储debug输出。
  • --verbose — 查询执行的更多细节。
  • -s — 禁用stderr日志记录。
  • --config-file — 与ClickHouse服务器相同格式的配置文件的路径,默认为配置为空。
  • --helpclickhouse-local的参数指南。

此外,这些为每个ClickHouse配置变量的参数,它们比--config-file更常用。

示例

$ echo -e "1,2\n3,4" | clickhouse-local -S "a Int64, b Int64" -if "CSV" -q "SELECT * FROM table"
Read 2 rows, 32.00 B in 0.000 sec., 5182 rows/sec., 80.97 KiB/sec.
1   2
3   4

与前面的例子相同:

$ echo -e "1,2\n3,4" | clickhouse-local -q "CREATE TABLE table (a Int64, b Int64) ENGINE = File(CSV, stdin); SELECT a, b FROM table; DROP TABLE table"
Read 2 rows, 32.00 B in 0.000 sec., 4987 rows/sec., 77.93 KiB/sec.
1   2
3   4

现在让我们为每个Unix用户输出内存用户:

$ ps aux | tail -n +2 | awk '{ printf("%s\t%s\n", $1, $4) }' | clickhouse-local -S "user String, mem Float64" -q "SELECT user, round(sum(mem), 2) as memTotal FROM table GROUP BY user ORDER BY memTotal DESC FORMAT Pretty"
Read 186 rows, 4.15 KiB in 0.035 sec., 5302 rows/sec., 118.34 KiB/sec.
┏━━━━━━━━━━┳━━━━━━━━━━┓
┃ user     ┃ memTotal ┃
┡━━━━━━━━━━╇━━━━━━━━━━┩
│ bayonet  │    113.5 │
├──────────┼──────────┤
│ root     │      8.8 │
├──────────┼──────────┤
...

「如果这篇文章对你有用,请支持一下哦」

Attack On Programmer

如果这篇文章对你有用,请支持一下哦

使用微信扫描二维码完成支付