5. ClickHouse文件引擎

514 阅读1分钟

File表引擎以支持特殊的文件格式(TabSeparated,Native等)将数据保存在文件中。 用法示例:File(Format)

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

支持的格式如下 ClickHouse.tech/docs/v20.3/…

  1. 示例一
    1)建表

    create table tb_file1(
    	id Int, 
    	name String
    ) engine=File(TabSeparated);
    

    在指定表的目录下创建文件 data.TabSeparated

  2. local语法
    在ClickHouse-local中,文件引擎除了还接受文件路径Format。默认输入/输出流可使用数字或人类可读的名称来指定0或stdin,1或stdout。 导入

echo -e "1,2\n3,4" | ClickHouse-local -q "CREATE TABLE tb_local1(a Int64, b Int64)ENGINE=File(CSV,stdin);select * from tb_local1;"
cat ./data.CSV | ClickHouse-local -q "CREATE TABLE tb_local1(a Int64, b Int64)ENGINE=File(CSV,stdin);select * from tb_local2;"
create table tb_client(id UInt16, name String)engine=TinyLog;
将数据导入到CH表中
cat data.CSV | ClickHouse-client --query="INSERT INTO tb_client FORMATCSV";
/data/user.txt | clickhouse-client --format_csv_delimite'|' -d 'db_demo2' -q 'INSERT INTO tb_client FORMATCSV'