输入/输出格式
ClickHouse可以接受和返回各种格式的数据。受支持的输入格式可用于提交给INSERT
语句、从文件表(File,URL,HDFS或者外部目录)执行SELECT
语句,受支持的输出格式可用于格式化SELECT
语句的返回结果,或者通过INSERT
写入到文件表。
以下是支持的格式:
您可以使用ClickHouse设置一些格式化参数。更多详情设置请参考设置
TabSeparated
在TabSeparated分隔格式中,数据按行写入。每行包含由制表符分隔的值,每个值后跟一个制表符,除了行中最后一个值,最后的值后面是一个换行符。在任何地方都采用严格的Unix换 行(\n)。最后一行结束后必须再插入一个换行符。值以文本格式编写,不包含引号,并使用转义的特殊字符。
这种格式也被称为TSV
。
TabSeparated
格式便于其他的程序和脚本处理数据。默认情况下,HTTP接口和命令行客户端的批处理模式中会使用这个格式。这种格式还允许在不同dbms之间传输数据。例如,您可以从MySQL获取转储并将其上传到ClickHouse,反之亦然。
TabSeparated
格式支持输出总计的结果(当SQL语句包含WITH TOTALS
)和极值(当extremes
被设置为1时)。在这种情况下,总计值和极值会在主数据后输出。主要结果、总值和极值之间用空行分隔。示例:
set extremes=1;
SELECT EventDate, count() AS c FROM test.hits_v1 GROUP BY EventDate WITH TOTALS ORDER BY EventDate FORMAT TabSeparated;
2014-03-17 1406958
2014-03-18 1383658
2014-03-19 1405797
2014-03-20 1353623
2014-03-21 1245779
2014-03-22 1031592
2014-03-23 1046491
0000-00-00 8873898
2014-03-17 1031592
2014-03-23 1406958
数据格式化
整数是用十进制形式写的。数字可以在开头包含一个额外的+