文件(输入格式)

    用法示例:

    • 从 ClickHouse 导出数据到文件。
    • 通过编辑磁盘上的文件来更新 ClickHouse 中的数据。

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

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

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

    注意

    注意这个功能,因为 ClickHouse 不会跟踪这些文件在外部的更改。在 ClickHouse 中和 ClickHouse 外部同时写入会造成结果是不确定的。

    1. 创建 表:

    1. 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 文件,并且包含内容:

    1. SELECT * FROM file_engine_table

    使用 时,File 引擎除了 Format 之外,还可以接收文件路径参数。可以使用数字或名称来指定标准输入/输出流,例如 或 stdin1stdout
    例如:

    1. $ 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
      • 索引