从 CSV 文件导入数据
sometable 表,可以直接通过管道将该文件传给 clickhouse-client:
FORMAT CSV 子句,让 ClickHouse 能识别文件格式。我们也可以使用 url() 函数直接从 URL 加载数据,或者使用 s3() 函数从 S3 文件加载数据。
带表头的 CSV 文件
使用自定义分隔符的 CSV 文件
; 作为分隔符,而不是逗号。
跳过 CSV 文件中的行
在 CSV 文件中处理 NULL 值
\N 表示 NULL 值。不过,我们可以通过 format_csv_null_representation 选项来修改这种表示方式。
假设我们有以下 CSV 文件:
Nothing 视为 String (这是正确的) :
Nothing 视为 NULL,可以通过以下选项进行设置:
NULL 已出现在我们预期的位置:
TSV (制表符分隔) 文件
原始 TSV
导出为 CSV
FORMAT 子句:
将导出数据保存为 CSV 文件
使用自定义分隔符导出 CSV
| 作为 CSV 格式的分隔符:
为 Windows 导出 CSV
\r\n 作为换行符,而不是 \n:
CSV 文件的 schema 推断
DESCRIBE 语句查看检测到的数据类型:
String。
使用显式列类型导出和导入 CSV
自定义分隔符、分隔符和转义规则
row() 中,行与行之间用 , 分隔,而各个值则用 ; 分隔。在这种情况下,我们可以使用以下设置从该文件中读取数据:
处理大型 CSV 文件
COMPRESSION 子句:
COMPRESSION 子句,ClickHouse 仍会根据文件扩展名尝试推断压缩方式。也可以用同样的方法将文件直接导出为压缩格式:
data_csv.csv.gz 文件。
其他格式
- CSV 和 TSV 格式
- Parquet
- JSON 格式
- Regex 和 Template
- 原生格式和二进制格式
- SQL 格式