1.其他引擎
1.1memory
特点:数据不会写入到磁盘,重启机器以后表还在但是数据丢失
应用场景:测试代码段
代码:
-- 创建一个Memory引擎的表
create table tb_memory(id Int8 , name String) engine = Memory ;
-- 插入数据
insert into tb_memory values (1,'zss'),(2,'lss'),(3,'peiqi') ;
-- 存储数据的文件夹中没有对应的表文件夹
-- 查看数据 select * from tb_memory ;
1.2文件引擎
1.2.1导入本地文件引擎
1交互模式代码
--1) 建表
create table tb_file_demo1(uid UInt16 , name String) engine=File(TabSeparated) ;
--2) 在指定的目录下创建数据文件
--/var/lib/ClickHouse/data/default/tb_file_demo1
--[root@linux01 tb_file_demo1]# vi data.TabSeparated 注意这个文件的名字不能变化
--1001 TaoGe
--1002 XingGe
--1003 HANGGE
2local语法
cat ./data.CSV | ClickHouse-local -q "CREATE TABLE tb_local2 (id Int64, name String) ENGINE = File(CSV, stdin); select * from tb_local2 ;"
3client语法
--建表
create table tb_file(
id Int8 ,
name String
) engine = File(CSV) ;
SELECT *
FROM tb_file2 ;
--导入数据
cat /data/user2.txt | clickhouse-client --format_csv_delimiter='|' -d 'db_demo2' -q'insert into tb_file FORMAT CSV'
1.2.2导入HDFS文件引擎
格式:engine=HDFS(url,format)
代码:
create table tb_dfs1(
id Int32 ,
name String ,
job String
) engine = HDFS('hdfs://linux01:8020/doit18/user.csv','CSV') ;
1.2.3导入MySQL文件引擎
格式:engine=MySQL=(url ,database,table,账户名,密码)
代码:
create table tb_sql(
id Int32 ,
name String
) engine = MySQL('hadoop01:3306','doit18','user','root','root') ;