ClickHouse 表類型(引擎)? |? File?
ClickHouse 有個(gè)神奇的TableEngine叫做File。
而官方的說明好像基本沒說啥帜篇,在這里我來補(bǔ)充一些。
使用ClickHouse File表引擎來實(shí)現(xiàn)不使用client 而是使用clickhouse-server端導(dǎo)入文件,
哈哈哈华弓,話不多說芭挽,上干貨:
做法:
1. 創(chuàng)建表?
clickhouse-client 內(nèi)運(yùn)行: CREATE TABLE exampleTable ( ..... ) Engine = File('XXX')? # 這里的XXX表示是文件后綴懒棉、比如要導(dǎo)入的是csv就寫csv即可
2. 拷貝文件到 ClickHouse Data 目錄下??
比如我的表叫做exampleTable 在 default 這個(gè)數(shù)據(jù)庫里,
那么我的文件就應(yīng)該拷貝在(拿CentOS舉例)
?/var/lib/clickhouse/db/default/exampleTable??
也就是官方格式 :? clickhouse文件主目錄/db/database名/table名/ 里面
3. OK啦
P.S.??
1. 這個(gè)引擎是本地的览绿,暫不支持跨機(jī)器策严,不支持其他自定義目錄,不過可以link硬鏈接過來? :)
2. 這個(gè)引擎導(dǎo)入之后可以使用SELECT 進(jìn)行查詢饿敲,也可以通過 通過INSERT INTO 和 SELECT 來把數(shù)據(jù)導(dǎo)入到一個(gè)MergeTree的表里妻导, 當(dāng)然MergeTree這個(gè)表可以是什么Replicated、Distributed之類啦
? ? ? ? 舉個(gè)栗子: INSERT INTO anothertable select * from onetable
3. 這個(gè)CREATE TABLE 時(shí)使用了 File() 這個(gè)引擎的構(gòu)造函數(shù) 事實(shí)上還支持其他幾個(gè)參數(shù):
他們一共有3個(gè)怀各, 分別是 (按重要性排序):
? ? - 使用特定的FD(文件標(biāo)識(shí)符) if (fd >= 0)?
? ? - 使用特定的Table_Path (如果非空)?(也就是上文使用的)
? ? - 是否在 data/db/table/ 里創(chuàng)建數(shù)據(jù)庫文件 (默認(rèn)創(chuàng)建熬缶隆)
P.P.S.文章成文時(shí)使用最新版:1.1.54344?
:) 祝好