mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2026-10-28 16:18:23 +08:00
Extend the generator to formats (generate-formats.sql + format_generators in the port, same mechanism as engines). Convert the 65 format pages whose structured docs reproduce the page (content-neutral / whitespace-only). Deferred (kept hand-written): pages that include shared Mintlify snippets (<PrettyFormatSettings/>, <RowBinaryFormatSettings/>, <DataTypeMapping/> from /snippets/) which the Docusaurus->Mintlify transform can't synthesize, and a few (Values, HiveText, Arrow, ArrowStream, Parquet) whose structured description is less complete than the page and needs enriching. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
161 lines
4.5 KiB
Plaintext
161 lines
4.5 KiB
Plaintext
---
|
|
alias: []
|
|
description: 'Documentation for the JSONCompact format'
|
|
input_format: true
|
|
keywords: ['JSONCompact']
|
|
output_format: true
|
|
slug: /interfaces/formats/JSONCompact
|
|
title: 'JSONCompact'
|
|
doc_type: 'reference'
|
|
---
|
|
|
|
{/*AUTOGENERATED_START*/}
|
|
| Input | Output | Alias |
|
|
|-------|--------|-------|
|
|
| ✔ | ✔ | |
|
|
|
|
## Description {#description}
|
|
|
|
Differs from [JSON](/reference/formats/JSON/JSON) only in that data rows are output as arrays, not as objects.
|
|
|
|
## Example usage {#example-usage}
|
|
|
|
### Inserting data {#inserting-data}
|
|
|
|
Using a JSON file with the following data, named as `football.json`:
|
|
|
|
```json
|
|
{
|
|
"meta":
|
|
[
|
|
{
|
|
"name": "date",
|
|
"type": "Date"
|
|
},
|
|
{
|
|
"name": "season",
|
|
"type": "Int16"
|
|
},
|
|
{
|
|
"name": "home_team",
|
|
"type": "LowCardinality(String)"
|
|
},
|
|
{
|
|
"name": "away_team",
|
|
"type": "LowCardinality(String)"
|
|
},
|
|
{
|
|
"name": "home_team_goals",
|
|
"type": "Int8"
|
|
},
|
|
{
|
|
"name": "away_team_goals",
|
|
"type": "Int8"
|
|
}
|
|
],
|
|
"data":
|
|
[
|
|
["2022-04-30", 2021, "Sutton United", "Bradford City", 1, 4],
|
|
["2022-04-30", 2021, "Swindon Town", "Barrow", 2, 1],
|
|
["2022-04-30", 2021, "Tranmere Rovers", "Oldham Athletic", 2, 0],
|
|
["2022-05-02", 2021, "Port Vale", "Newport County", 1, 2],
|
|
["2022-05-02", 2021, "Salford City", "Mansfield Town", 2, 2],
|
|
["2022-05-07", 2021, "Barrow", "Northampton Town", 1, 3],
|
|
["2022-05-07", 2021, "Bradford City", "Carlisle United", 2, 0],
|
|
["2022-05-07", 2021, "Bristol Rovers", "Scunthorpe United", 7, 0],
|
|
["2022-05-07", 2021, "Exeter City", "Port Vale", 0, 1],
|
|
["2022-05-07", 2021, "Harrogate Town A.F.C.", "Sutton United", 0, 2],
|
|
["2022-05-07", 2021, "Hartlepool United", "Colchester United", 0, 2],
|
|
["2022-05-07", 2021, "Leyton Orient", "Tranmere Rovers", 0, 1],
|
|
["2022-05-07", 2021, "Mansfield Town", "Forest Green Rovers", 2, 2],
|
|
["2022-05-07", 2021, "Newport County", "Rochdale", 0, 2],
|
|
["2022-05-07", 2021, "Oldham Athletic", "Crawley Town", 3, 3],
|
|
["2022-05-07", 2021, "Stevenage Borough", "Salford City", 4, 2],
|
|
["2022-05-07", 2021, "Walsall", "Swindon Town", 0, 3]
|
|
]
|
|
}
|
|
```
|
|
|
|
Insert the data:
|
|
|
|
```sql
|
|
INSERT INTO football FROM INFILE 'football.json' FORMAT JSONCompact;
|
|
```
|
|
|
|
### Reading data {#reading-data}
|
|
|
|
Read data using the `JSONCompact` format:
|
|
|
|
```sql
|
|
SELECT *
|
|
FROM football
|
|
FORMAT JSONCompact
|
|
```
|
|
|
|
The output will be in JSON format:
|
|
|
|
```json
|
|
{
|
|
"meta":
|
|
[
|
|
{
|
|
"name": "date",
|
|
"type": "Date"
|
|
},
|
|
{
|
|
"name": "season",
|
|
"type": "Int16"
|
|
},
|
|
{
|
|
"name": "home_team",
|
|
"type": "LowCardinality(String)"
|
|
},
|
|
{
|
|
"name": "away_team",
|
|
"type": "LowCardinality(String)"
|
|
},
|
|
{
|
|
"name": "home_team_goals",
|
|
"type": "Int8"
|
|
},
|
|
{
|
|
"name": "away_team_goals",
|
|
"type": "Int8"
|
|
}
|
|
],
|
|
|
|
"data":
|
|
[
|
|
["2022-04-30", 2021, "Sutton United", "Bradford City", 1, 4],
|
|
["2022-04-30", 2021, "Swindon Town", "Barrow", 2, 1],
|
|
["2022-04-30", 2021, "Tranmere Rovers", "Oldham Athletic", 2, 0],
|
|
["2022-05-02", 2021, "Port Vale", "Newport County", 1, 2],
|
|
["2022-05-02", 2021, "Salford City", "Mansfield Town", 2, 2],
|
|
["2022-05-07", 2021, "Barrow", "Northampton Town", 1, 3],
|
|
["2022-05-07", 2021, "Bradford City", "Carlisle United", 2, 0],
|
|
["2022-05-07", 2021, "Bristol Rovers", "Scunthorpe United", 7, 0],
|
|
["2022-05-07", 2021, "Exeter City", "Port Vale", 0, 1],
|
|
["2022-05-07", 2021, "Harrogate Town A.F.C.", "Sutton United", 0, 2],
|
|
["2022-05-07", 2021, "Hartlepool United", "Colchester United", 0, 2],
|
|
["2022-05-07", 2021, "Leyton Orient", "Tranmere Rovers", 0, 1],
|
|
["2022-05-07", 2021, "Mansfield Town", "Forest Green Rovers", 2, 2],
|
|
["2022-05-07", 2021, "Newport County", "Rochdale", 0, 2],
|
|
["2022-05-07", 2021, "Oldham Athletic", "Crawley Town", 3, 3],
|
|
["2022-05-07", 2021, "Stevenage Borough", "Salford City", 4, 2],
|
|
["2022-05-07", 2021, "Walsall", "Swindon Town", 0, 3]
|
|
],
|
|
|
|
"rows": 17,
|
|
|
|
"statistics":
|
|
{
|
|
"elapsed": 0.223690876,
|
|
"rows_read": 0,
|
|
"bytes_read": 0
|
|
}
|
|
}
|
|
```
|
|
|
|
## Format settings {#format-settings}
|
|
{/*AUTOGENERATED_END*/}
|