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服务器相同格式的配置文件的路径,默认为配置为空。--help
—clickhouse-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 │
├──────────┼──────────┤
...
「如果这篇文章对你有用,请支持一下哦」
如果这篇文章对你有用,请支持一下哦
使用微信扫描二维码完成支付