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 更新刪除數據: 1、alter 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')