Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Data formats

When it comes to data formats, chDB is 100% feature compatible with ClickHouse.

Input formats are used to parse the data provided to INSERT and SELECT from a file-backed table such as File, URL or S3. Output formats are used to arrange the results of a SELECT, and to perform INSERTs into a file-backed table. As well as the data formats that ClickHouse supports, chDB also supports:

  • ArrowTable as an output format, the type is Python pyarrow.Table
  • DataFrame as an input and output format, the type is Python pandas.DataFrame. For examples, see test_joindf.py
  • Debug as ab output (as an alias of CSV), but with enabled debug verbose output from ClickHouse.

The supported data formats from ClickHouse are:

Format Input Output
TabSeparated ✔ ✔
TabSeparatedRaw ✔ ✔
TabSeparatedWithNames ✔ ✔
TabSeparatedWithNamesAndTypes ✔ ✔
TabSeparatedRawWithNames ✔ ✔
TabSeparatedRawWithNamesAndTypes ✔ ✔
Template ✔ ✔
TemplateIgnoreSpaces ✔ ✗
CSV ✔ ✔
CSVWithNames ✔ ✔
CSVWithNamesAndTypes ✔ ✔
CustomSeparated ✔ ✔
CustomSeparatedWithNames ✔ ✔
CustomSeparatedWithNamesAndTypes ✔ ✔
SQLInsert ✗ ✔
Values ✔ ✔
Vertical ✗ ✔
JSON ✔ ✔
JSONAsString ✔ ✗
JSONAsObject ✔ ✗
JSONStrings ✔ ✔
JSONColumns ✔ ✔
JSONColumnsWithMetadata ✔ ✔
JSONCompact ✔ ✔
JSONCompactStrings ✗ ✔
JSONCompactColumns ✔ ✔
JSONEachRow ✔ ✔
PrettyJSONEachRow ✗ ✔
JSONEachRowWithProgress ✗ ✔
JSONStringsEachRow ✔ ✔
JSONStringsEachRowWithProgress ✗ ✔
JSONCompactEachRow ✔ ✔
JSONCompactEachRowWithNames ✔ ✔
JSONCompactEachRowWithNamesAndTypes ✔ ✔
JSONCompactEachRowWithProgress ✗ ✔
JSONCompactStringsEachRow ✔ ✔
JSONCompactStringsEachRowWithNames ✔ ✔
JSONCompactStringsEachRowWithNamesAndTypes ✔ ✔
JSONCompactStringsEachRowWithProgress ✗ ✔
JSONObjectEachRow ✔ ✔
BSONEachRow ✔ ✔
TSKV ✔ ✔
Pretty ✗ ✔
PrettyNoEscapes ✗ ✔
PrettyMonoBlock ✗ ✔
PrettyNoEscapesMonoBlock ✗ ✔
PrettyCompact ✗ ✔
PrettyCompactNoEscapes ✗ ✔
PrettyCompactMonoBlock ✗ ✔
PrettyCompactNoEscapesMonoBlock ✗ ✔
PrettySpace ✗ ✔
PrettySpaceNoEscapes ✗ ✔
PrettySpaceMonoBlock ✗ ✔
PrettySpaceNoEscapesMonoBlock ✗ ✔
Prometheus ✗ ✔
Protobuf ✔ ✔
ProtobufSingle ✔ ✔
ProtobufList ✔ ✔
Avro ✔ ✔
AvroConfluent ✔ ✗
Parquet ✔ ✔
ParquetMetadata ✔ ✗
Arrow ✔ ✔
ArrowStream ✔ ✔
ORC ✔ ✔
One ✔ ✗
Npy ✔ ✔
RowBinary ✔ ✔
RowBinaryWithNames ✔ ✔
RowBinaryWithNamesAndTypes ✔ ✔
RowBinaryWithDefaults ✔ ✗
Native ✔ ✔
Null ✗ ✔
XML ✗ ✔
CapnProto ✔ ✔
LineAsString ✔ ✔
Regexp ✔ ✗
RawBLOB ✔ ✔
MsgPack ✔ ✔
MySQLDump ✔ ✗
DWARF ✔ ✗
Markdown ✗ ✔
Form ✔ ✗

For further information and examples, see ClickHouse formats for input and output data.

Navigation