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 INSERT
s 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 Pythonpyarrow.Table
DataFrame
as an input and output format, the type is Pythonpandas.DataFrame
. For examples, see test_joindf.pyDebug
as ab output (as an alias ofCSV
), 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 | ✔ | ✗ |
JSONStrings | ✔ | ✔ |
JSONColumns | ✔ | ✔ |
JSONColumnsWithMetadata | ✔ | ✔ |
JSONCompact | ✔ | ✔ |
JSONCompactStrings | ✗ | ✔ |
JSONCompactColumns | ✔ | ✔ |
JSONEachRow | ✔ | ✔ |
PrettyJSONEachRow | ✗ | ✔ |
JSONEachRowWithProgress | ✗ | ✔ |
JSONStringsEachRow | ✔ | ✔ |
JSONStringsEachRowWithProgress | ✗ | ✔ |
JSONCompactEachRow | ✔ | ✔ |
JSONCompactEachRowWithNames | ✔ | ✔ |
JSONCompactEachRowWithNamesAndTypes | ✔ | ✔ |
JSONCompactStringsEachRow | ✔ | ✔ |
JSONCompactStringsEachRowWithNames | ✔ | ✔ |
JSONCompactStringsEachRowWithNamesAndTypes | ✔ | ✔ |
JSONObjectEachRow | ✔ | ✔ |
BSONEachRow | ✔ | ✔ |
TSKV | ✔ | ✔ |
Pretty | ✗ | ✔ |
PrettyNoEscapes | ✗ | ✔ |
PrettyMonoBlock | ✗ | ✔ |
PrettyNoEscapesMonoBlock | ✗ | ✔ |
PrettyCompact | ✗ | ✔ |
PrettyCompactNoEscapes | ✗ | ✔ |
PrettyCompactMonoBlock | ✗ | ✔ |
PrettyCompactNoEscapesMonoBlock | ✗ | ✔ |
PrettySpace | ✗ | ✔ |
PrettySpaceNoEscapes | ✗ | ✔ |
PrettySpaceMonoBlock | ✗ | ✔ |
PrettySpaceNoEscapesMonoBlock | ✗ | ✔ |
Prometheus | ✗ | ✔ |
Protobuf | ✔ | ✔ |
ProtobufSingle | ✔ | ✔ |
Avro | ✔ | ✔ |
AvroConfluent | ✔ | ✗ |
Parquet | ✔ | ✔ |
ParquetMetadata | ✔ | ✗ |
Arrow | ✔ | ✔ |
ArrowStream | ✔ | ✔ |
ORC | ✔ | ✔ |
One | ✔ | ✗ |
RowBinary | ✔ | ✔ |
RowBinaryWithNames | ✔ | ✔ |
RowBinaryWithNamesAndTypes | ✔ | ✔ |
RowBinaryWithDefaults | ✔ | ✔ |
Native | ✔ | ✔ |
Null | ✗ | ✔ |
XML | ✗ | ✔ |
CapnProto | ✔ | ✔ |
LineAsString | ✔ | ✔ |
Regexp | ✔ | ✗ |
RawBLOB | ✔ | ✔ |
MsgPack | ✔ | ✔ |
MySQLDump | ✔ | ✗ |
Markdown | ✗ | ✔ |
For further information and examples, see ClickHouse formats for input and output data.