Clickhouse 基础知识三(DML、File引擎、HDFS引擎)

1、DML

MergeTree:
    插入数据:
        1、insert into values (...),(...);
        2、insert into select from ....
        3、create select from ....
        4、clickhouse-client -q 'insert into FORMAT ...'  < data.data
        
    
    更新删除数据:
        1alter table table_name delete where
        2、alter table table_name update column=v1,column = v2 where ....

        
ReplacingMergeTree
        区间主键相同的数据去重
        
        指定ReplacingMergeTree(version_col)保留最大版本数据
        
CollapsingMergeTree
VersionCollapsingMergeTree(sign) sign状态 :
            1、 1 -1 1 更新
            2、 1 -1 删除
            3、 -1 1 1 或者 1 1 -1 1 不操作

2、File 引擎

    Flie表引擎能够直接读取本地文件的数据,通常被作为一种扩充手段来使用
    例如:它可以读取由其他系统生成的数据文件,如果外部系统直接修改了文件,则变相达到了数据更新的目的;
    create table test_File(
                        id String,
                        name String,
                        age int 
                        ) engine = File('CSV')
    在默认的目录下会生成一个文件夹,文件夹中可以写入文件,但是文件的名字必须是data.CSV 

3、HDFS引擎

    clickhouse 可以直接从hdfs中指定的目录下加载数据,自己根本不存储数据,仅仅是读取数据
    ENGINE = HDFS(hdfs_uri,format)
    
    hdfs_uri表示HDFS的文件存储路径
    format 表示文件的格式(常见的有CSV,TSV,JSON)    
    
    create table test_hdfs (
                id int ,
                name String,
                age int 
    ) engine = HDFS('hdfs://localhost:8020/ck/data/test_hdfs','CSV')
原文地址:https://www.cnblogs.com/ywjfx/p/14379194.html