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. Qt 实时显示系统时间

    前言 我们用一个label控件来实时显示系统时间,用到 QTimer 和 QDateTime 这个两个类. 正题 头文件: #ifndef MAINWINDOW_H #define MAINWINDO ...

  2. SpringCloud 2020.0.4 系列之 Sleuth + Zipkin

    1. 概述 老话说的好:安全不能带来财富,但盲目的冒险也是不可取的,大胆筹划,小心实施才是上策. 言归正传,微服务的特点就是服务多,服务间的互相调用也很复杂,就像一张关系网,因此为了更好的定位故障和优 ...

  3. Vue.js教程 2.体验Vue

    Vue.js教程 2.体验Vue <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  4. Mybatis:插入数据返回自增主键

    使用Mybatis作为工具连接MySQL,要求在插入数据之后返回自增主键 一开始也很迷惑,Mybatis使用insert之后,成功返回的是1,失败会报错或返回0,主键去哪找来 后来知道Mybatis可 ...

  5. OOP 4.21晚 指针知识点

    1.读法:int* ptr ptr是一个指针指向整型变量 2.指针类型:指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型; 3.指针所指向的类型:只须把指针声明语句中的指针名字和名字左边的指 ...

  6. [gym102412D]The Jump from Height of Self-importance to Height of IQ Level

    考虑使用平衡树维护该序列,操作显然可以用fhq treap的分裂+合并来实现 进一步的,问题即变为维护哪些信息来支持push up的操作(并判定是否存在$a_{i}<a_{j}<a_{k} ...

  7. 华为9.8笔试题C++

    问题 给出一颗二叉树,每个节点有一个编号和一个值,该值可能为负数,请你找出一个最优节点(除根节点外),使得在该节点将树分成两棵树后(原来的树移除这个节点及其子节点,新的树以该节点为根节点),分成的两棵 ...

  8. SQL 跨实例操作

    SQL 跨实例操作 我使用的是 OpenDataSource 函数,假设你要在其他机器上访问 192.168.0.1 上的数据库: SELECT A.[Name], B.[SkillName], B. ...

  9. 洛谷 P3994 高速公路(斜率优化)

    题目链接 题意:给出一棵树,\(1\) 号点为根,边上有边权. 每个点有两个参数 \(p_i,q_i\) 如果你想从 \(i\) 号点到与其距离为 \(d\) 的 \(j\) 号点,那么你需花费 \( ...

  10. 【Python小试】使用列表解析式简化代码

    列表解析式的好处: 代码简洁 可读性强 运行快 示例 来自<Python编程>中的一个例子:同时投掷两颗面数不同的骰子(如一个6面的D6和一个10面的D10)n次,统计两个骰子点数之和,并 ...