LOAP引擎:clickhouse03:文件的导入导出方式

1.文件导入方式

1.HDFS方式

代码如下:

create table tb_user1(
id Int8,
name String 
)
engine = HDFS('hdfs://linux01:8020/user.csv','CSV'); ---HDFS('文件的地址',文件的格式)

2.文件引擎

文件以空格隔开时

1.建表

drop table tb_file;  
create table tb_file(
id UInt8,
name String
)engine=File(TabSeparated);  ---文件引擎

2.在指定文件目录下创建要导入的文件(必须先建表,再导入)

指定目录: /var/lib/clickhouse/data/default/tb_file     建表以后在此目录下会出现与上表名相同的文件夹,此例中就是tb_file

[root@linux01 tb_file]# vi dataTabSeparated  ---文件的名字不能改变,固定的 文件中的数据以tab隔开

1001    TaoGe
1002    XingGe
1003    HANGGE

文件以逗号隔开时

1.建表

create table tb_file_demo2(uid UInt16 , name String) engine=File(CSV) ;

2.指定目录下编辑数据文件

vi  data.CSV  注意后缀是大写

101,TaoGe

102,XingGe

103,HANGGE

3.insert方式

代码示例:

insert into tb_insert select * from tb_insert;

4.create方式

Create table tb_name engine=engine as  select from ...

---第二个engine处填具体引擎类型

5.local方式(在客户端外执行)

cat data.csv | clickhouse-local -q 'create table tb_data (a Int8,b Int8) engine =File(CSV,stdin);select * from tb_data';

---tb_data在clickhouse中是不存在的,因为这种方式建的表是临时表

---把data.csv 文件的数据添加到了tb_data中,最后的select是查看表的内容,不在语句中查看没有其他手段
可以查看,因为是临时表

6.client方式(在客户端外执行)

cat data.csv | clickhouse-client -q 'insert into default.tb_data FORMAT CSV';

---default.tb_data  需要插到其他数据库时指定数据库名字,否则默认数据库

---执行此语句前先建好表

---FORMAT CSV 必须大写  CSV可以是其他格式

---表保存在了clickhouse中

7.from方式

1.file

文件必须在指定路径下创建才有意义  /var/lib/clickhouse/user_files  可修改

1.修改配置文件,文件的创建目录位置

-- clickhosue的配置文件的位置  默认在/etc/clickouse-server下 

2. vi config.xml  修改为

<user_files_path>/</user_files_path>

3.重启服务

select  * from file('user.csv',CSV,'id Int8,name String');

---参数一:文件地址,具体到文件名,地址为本地地址
---参数二:文件格式
---表的参数

2.hdfs

hdfs(URI, format, structure)


SELECT *
FROM hdfs(`hdfs://linux01:8020/user/hive/warehouse/db_doit19.db/tb_teacher2/000000_0`, ORC, 'name String , xz String ,xx String')

---参数一: 文件在hdfs中的地址,具体到文件(可以到hdfs://linux01:9870中查看)
---参数二:原文件格式的格式

-- 注意特殊的列式存储的数据格式 , 字段是内置在数据中 , 定义structure 注意字段名和数据类型
字段名和数据类型必须一样


---普通格式如CSV格式,字段名可以不一样,数据类型得一样

3.mysql

SELECT * FROM mysql('linux01:3306', 'db_doit19', 'tb_user', 'root', 'root') ;

---参数一:masql的地址 ,参数二:mysql数据库名,参数三:mysql的表名 
---参数四:用户名  ,参数五: 用户密码

**建表时指定数据格式

create  table  tb_teacher2(
name string ,
xz string ,
xx string
) stored  as  ORCFILE ;  -- 在hive中建表指定数据存储格式

---此处指定为ORC格式

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值