TSKV
TSKV格式不适合有大量小列的输出.
TSKV的效率并不比JSONEachRow差.
TSKV数据查询和数据导入。
不需要保证列的顺序。
支持忽略某些值,这些列使用默认值,例如0和空白行。复杂类型的值必须指定,无法使用默认值。

ch2 :) select * from escape_demo format TSKV;

SELECT *
FROM escape_demo
FORMAT TSKV name=xiaomi addr=nanjing\tjiangsu age=23 desc=From nanjing
name=xiaohong addr=zheng\tzhou age=23 desc=A gril
name=xiaohong addr=zheng\tzhou age=23 desc=A gril 3 rows in set. Elapsed: 0.014 sec.
[root@ch2 tmp]# clickhouse-client --query "select * from escape_demo format TSKV" > tskv.txt
[root@ch2 tmp]# cat tskv.txt
name=xiaomi addr=nanjing\tjiangsu age=23 desc=From nanjing
name=xiaohong addr=zheng\tzhou age=23 desc=A gril
name=xiaohong addr=zheng\tzhou age=23 desc=A gril
[root@ch2 tmp]# clickhouse-client --query "insert into escape_demo format TSKV" < tskv.txt
[root@ch2 tmp]# clickhouse-client
ClickHouse client version 20.3.9.70 (official build).
Connecting to localhost:9300 as user default.
Connected to ClickHouse server version 20.3.9 revision 54433. ch2 :) select * from escape_demo; SELECT *
FROM escape_demo ┌─name─────┬─addr───────────────┬─age─┬─desc─────────┐
│ xiaomi │ nanjing jiangsu │ 23 │ From nanjing │
│ xiaohong │ zheng zhou │ 23 │ A gril │
│ xiaohong │ zheng zhou │ 23 │ A gril │
│ xiaomi │ nanjing jiangsu │ 23 │ From nanjing │
│ xiaohong │ zheng zhou │ 23 │ A gril │
│ xiaohong │ zheng zhou │ 23 │ A gril │
└──────────┴────────────────────┴─────┴──────────────┘

CSV格式:CSV、CSVWithNames

1. CSV格式:CSV、CSVWithNames
CSV默认的分隔符为逗号,format_csv_delimiter设置自定义的分隔符。

CSV中的双引号使用两个双引号转义。

支持数据的查询和数据导入的。

create table csv_demo(create_date Date, update_time DateTime, desc String) ENGINE=TinyLog;

[root@ch2 tmp]# cat csv_demo.csv
2014-03-23|2014-03-23 14:10:14|Apache Spark achieves high performance
2014-03-23|2014-03-23 15:10:30|Spark offers over 80 high-level operators
1395990600|1395904200|Learning Apache "Spark" is easy

clickhouse-client --format_csv_delimiter="|" --query="insert into csv_demo format CSV" < csv_demo.csv

ch2 :) select * from csv_demo;

SELECT *
FROM csv_demo ┌─create_date─┬─────────update_time─┬─desc──────────────────────────────────────┐
│ 2014-03-23 │ 2014-03-23 14:10:14 │ Apache Spark achieves high performance │
│ 2014-03-23 │ 2014-03-23 15:10:30 │ Spark offers over 80 high-level operators │
│ 0000-00-00 │ 2014-03-27 07:10:00 │ Learning Apache "Spark" is easy │
└─────────────┴─────────────────────┴───────────────────────────────────────────┘ 3 rows in set. Elapsed: 0.004 sec. ch2 :) select * from csv_demo format CSV; SELECT *
FROM csv_demo
FORMAT CSV "2014-03-23","2014-03-23 14:10:14","Apache Spark achieves high performance"
"2014-03-23","2014-03-23 15:10:30","Spark offers over 80 high-level operators"
"0000-00-00","2014-03-27 07:10:00","Learning Apache ""Spark"" is easy" 3 rows in set. Elapsed: 0.004 sec. ch2 :) set format_csv_delimiter='|'; SET format_csv_delimiter = '|' Ok. 0 rows in set. Elapsed: 0.002 sec. ch2 :) select * from csv_demo format CSV; SELECT *
FROM csv_demo
FORMAT CSV "2014-03-23"|"2014-03-23 14:10:14"|"Apache Spark achieves high performance"
"2014-03-23"|"2014-03-23 15:10:30"|"Spark offers over 80 high-level operators"
"0000-00-00"|"2014-03-27 07:10:00"|"Learning Apache ""Spark"" is easy" 3 rows in set. Elapsed: 0.004 sec.

CSVWithNames可以自动过滤到CSV文件第一列,即名字列

clickhouse输入输出格式 TSKV CSV的更多相关文章

  1. clickhouse 输入输出格式

    TabSeparated.TabSeparatedRaw.TabSeparatedWithNames和TabSeparatedWithNamesAndTypes TabSeparated 默认格式,缩 ...

  2. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  3. c++ --> cin和cout输入输出格式

    cin和cout输入输出格式 Cout 输出 1>. bool型输出 cout << true <<" or " << false < ...

  4. C语言第一次作业——输入输出格式

    题目1温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代码 #include& ...

  5. hdu ACM Steps Section 1 花式A+B 输入输出格式

    acm与oi很大的一个不同就是在输入格式上.oi往往是单组数据,而acm往往是多组数据,而且题目对数据格式往往各有要求,这8道a+b(吐槽..)涉及到了大量的常用的输入输出格式.https://wen ...

  6. topcoder 的一些输入输出格式

    自从上年的11月份参加过TC的比赛后,就再也没有参加了,因为它的输入输出格式比较难接受,还有它的页面字体比较小,看得我很辛苦...藉口藉口--懒而已!不过以后我会尽量去参加的,为了提高自己的编程能力. ...

  7. POJ数据的输入输出格式

    POJ在评阅习题时需要向程序提供输入数据,并获取程序的输出结果.因此提交的程序需按照每个习题具体的输入输出格式要求处理输入输出.有的时候,测评系统给出程序的评判结果是“数据错误”或“结果错误”,有可能 ...

  8. Hadoop MapReduce常用输入输出格式

    这里介绍MapReduce常用的几种输入输出格式. 三种常用的输入格式:TextInputFormat , SequenceFileInputFormat , KeyValueInputFormat ...

  9. Hadoop(七):自定义输入输出格式

    MR输入格式概述 数据输入格式 InputFormat. 用于描述MR作业的数据输入规范. 输入格式在MR框架中的作用: 文件进行分块(split),1个块就是1个Mapper任务. 从输入分块中将数 ...

随机推荐

  1. Java测试开发--sts安装Lombok(七)

    1.sts安装Lombok的步骤: 下载最新的lombok.jar包,进入cmd窗口,切到Lombok下载的目录,运行命令: java -jar lombok.jar,会出现如下界面: 已经默认选好了 ...

  2. List of devices attached 没有手机设备号 解决办法

    问题: cmd下使用adb devices 没有找到手机设备,如下图 解决办法: 采用360手机助手给我们自动安装对应的手机驱动,或者去对应的手机官网下载对应的驱动,这里手机要开启调试模式 我是opp ...

  3. centos yum更换阿里镜像

    #1.如果没有wget命令,则需要执行下面命令进行安装.为保险期间,先执行下面命令. yum install wget #2.备份原镜像源,以免出错后可以恢复. mv /etc/yum.repos.d ...

  4. python连接集群mongodb,封装增删改查

    1.下载pymongo pip install pymongo 2.直接上代码 [ini配置文件] 封装读ini省略~~ [db.py] class Database(): def __init__( ...

  5. java语言方法中定义final类型的入参有什么用意?

    无论参数是基本数据类型,还是引用数据类型,只要加了final,不好意思,该参数不可以再赋值(实参传进来给形参,就相当于初始化完成).可以防止在方法里面不小心重新赋值,造成一些不必要的麻烦!!!参考:h ...

  6. java中将double保留两位小数,将double保留两位小数并转换成String

    将Double类型的数据保留2位小数: Double a = 3.566; BigDecimal bd = new BigDecimal(a); Double d = bd.setScale(2, B ...

  7. git clone报错处理

    git clone过大的仓库时会报以下错误 remote: aborting due to possible repository corruption on the remote side. fat ...

  8. ofd文件电子签章实现方法

    前言 文档处理一般经过三个环节:流.版.签:流式软件负责编辑,如:office.wps等.版式软件负责文档定型,保证显示样式不跑偏:版式文件格式有两种:pdf.ofd.签章软件负责对版式文档签章.签章 ...

  9. 动态代理中newProxyInstance中三个参数

     JDK Proxy(代理对象): Proxy.newProxyInstance 方法的三个参数创建代理对象 增强 person对象 使用代理对象代替person 去执行 doCourt方法参数1 类 ...

  10. [第二章]c++学习笔记1(类和对象的基础2)

    类的成员函数可和类的定义分开写 类成员的可访问范围(private,public,protected) 具体使用方法 使用例