文件(输入格式) 

数据源是以 Clickhouse 支持的一种输入格式(TabSeparated,Native等)存储数据的文件。

用法示例:

  • 从 ClickHouse 导出数据到文件。
  • 将数据从一种格式转换为另一种格式。
  • 通过编辑磁盘上的文件来更新 ClickHouse 中的数据。

在 ClickHouse 服务器中的使用 

File(Format)

选用的 Format 需要支持 INSERTSELECT 。有关支持格式的完整列表,请参阅 格式

ClickHouse 不支持给 File 指定文件系统路径。它使用服务器配置中 路径 设定的文件夹。

使用 File(Format) 创建表时,它会在该文件夹中创建空的子目录。当数据写入该表时,它会写到该子目录中的 data.Format 文件中。

你也可以在服务器文件系统中手动创建这些子文件夹和文件,然后通过 ATTACH 将其创建为具有对应名称的表,这样你就可以从该文件中查询数据了。

示例:

1. 创建 file_engine_table 表:

CREATE TABLE file_engine_table (name String, value UInt32) ENGINE=File(TabSeparated)

默认情况下,Clickhouse 会创建目录 /var/lib/clickhouse/data/default/file_engine_table

2. 手动创建 /var/lib/clickhouse/data/default/file_engine_table/data.TabSeparated 文件,并且包含内容:

$ cat data.TabSeparated
one 1
two 2

3. 查询这些数据:

SELECT * FROM file_engine_table
┌─name─┬─value─┐
│ one  │     1 │
│ two  │     2 │
└──────┴───────┘

在 Clickhouse-local 中的使用 

使用 ツ环板-ョツ嘉ッツ偲 时,File 引擎除了 Format 之外,还可以接受文件路径参数。可以使用数字或人类可读的名称来指定标准输入/输出流,例如 0stdin1stdout
例如:

$ 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"

功能实现 

  • 读操作可支持并发,但写操作不支持
  • 不支持:
    • ALTER
    • SELECT ... SAMPLE
    • 索引
    • 副本

评分: 4 - 1 所得票数

这个内容有帮助??
★★★★☆