> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur le format ORC

# ORC

| Entrée | Sortie | Alias |
| ------ | ------ | ----- |
| ✔      | ✔      |       |

<div id="description">
  ## Description
</div>

[Apache ORC](https://orc.apache.org/) est un format de stockage colonnaire largement utilisé dans l’écosystème [Hadoop](https://hadoop.apache.org/).

<div id="data-types-matching-orc">
  ## Correspondance des types de données
</div>

Le tableau ci-dessous compare les types de données ORC pris en charge et les [types de données](/fr/reference/data-types/index) ClickHouse correspondants dans les requêtes `INSERT` et `SELECT`.

| Type de données ORC (`INSERT`)        | Type de données ClickHouse                                                                | Type de données ORC (`SELECT`) |
| ------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------ |
| `Boolean`                             | [UInt8](/fr/reference/data-types/int-uint)                                                | `Boolean`                      |
| `Tinyint`                             | [Int8/UInt8](/fr/reference/data-types/int-uint)/[Enum8](/fr/reference/data-types/enum)    | `Tinyint`                      |
| `Smallint`                            | [Int16/UInt16](/fr/reference/data-types/int-uint)/[Enum16](/fr/reference/data-types/enum) | `Smallint`                     |
| `Int`                                 | [Int32/UInt32](/fr/reference/data-types/int-uint)                                         | `Int`                          |
| `Bigint`                              | [Int64/UInt32](/fr/reference/data-types/int-uint)                                         | `Bigint`                       |
| `Float`                               | [Float32](/fr/reference/data-types/float)                                                 | `Float`                        |
| `Double`                              | [Float64](/fr/reference/data-types/float)                                                 | `Double`                       |
| `Decimal`                             | [Decimal](/fr/reference/data-types/decimal)                                               | `Decimal`                      |
| `Date`                                | [Date32](/fr/reference/data-types/date32)                                                 | `Date`                         |
| `Timestamp`                           | [DateTime64](/fr/reference/data-types/datetime64)                                         | `Timestamp`                    |
| `String`, `Char`, `Varchar`, `Binary` | [String](/fr/reference/data-types/string)                                                 | `Binary`                       |
| `List`                                | [Array](/fr/reference/data-types/array)                                                   | `List`                         |
| `Struct`                              | [Tuple](/fr/reference/data-types/tuple)                                                   | `Struct`                       |
| `Map`                                 | [Map](/fr/reference/data-types/map)                                                       | `Map`                          |
| `Int`                                 | [IPv4](/fr/reference/data-types/int-uint)                                                 | `Int`                          |
| `Binary`                              | [IPv6](/fr/reference/data-types/ipv6)                                                     | `Binary`                       |
| `Binary`                              | [Int128/UInt128/Int256/UInt256](/fr/reference/data-types/int-uint)                        | `Binary`                       |
| `Binary`                              | [Decimal256](/fr/reference/data-types/decimal)                                            | `Binary`                       |

* Les autres types ne sont pas pris en charge.
* Les tableaux peuvent être imbriqués et accepter comme argument une valeur de type `Nullable`. Les types `Tuple` et `Map` peuvent également être imbriqués.
* Les types de données des colonnes d'une table ClickHouse n'ont pas besoin de correspondre aux champs de données ORC associés. Lors de l'insertion de données, ClickHouse interprète les types de données conformément au tableau ci-dessus, puis [convertit](/fr/reference/functions/regular-functions/type-conversion-functions#CAST) les données dans le type de données défini pour la colonne de la table ClickHouse.

<div id="example-usage">
  ## Exemple d’utilisation
</div>

<div id="inserting-data">
  ### Insertion de données
</div>

À l’aide d’un fichier ORC nommé `football.orc` et contenant les données suivantes :

```text theme={null}
    ┌───────date─┬─season─┬─home_team─────────────┬─away_team───────────┬─home_team_goals─┬─away_team_goals─┐
 1. │ 2022-04-30 │   2021 │ Sutton United         │ Bradford City       │               1 │               4 │
 2. │ 2022-04-30 │   2021 │ Swindon Town          │ Barrow              │               2 │               1 │
 3. │ 2022-04-30 │   2021 │ Tranmere Rovers       │ Oldham Athletic     │               2 │               0 │
 4. │ 2022-05-02 │   2021 │ Port Vale             │ Newport County      │               1 │               2 │
 5. │ 2022-05-02 │   2021 │ Salford City          │ Mansfield Town      │               2 │               2 │
 6. │ 2022-05-07 │   2021 │ Barrow                │ Northampton Town    │               1 │               3 │
 7. │ 2022-05-07 │   2021 │ Bradford City         │ Carlisle United     │               2 │               0 │
 8. │ 2022-05-07 │   2021 │ Bristol Rovers        │ Scunthorpe United   │               7 │               0 │
 9. │ 2022-05-07 │   2021 │ Exeter City           │ Port Vale           │               0 │               1 │
10. │ 2022-05-07 │   2021 │ Harrogate Town A.F.C. │ Sutton United       │               0 │               2 │
11. │ 2022-05-07 │   2021 │ Hartlepool United     │ Colchester United   │               0 │               2 │
12. │ 2022-05-07 │   2021 │ Leyton Orient         │ Tranmere Rovers     │               0 │               1 │
13. │ 2022-05-07 │   2021 │ Mansfield Town        │ Forest Green Rovers │               2 │               2 │
14. │ 2022-05-07 │   2021 │ Newport County        │ Rochdale            │               0 │               2 │
15. │ 2022-05-07 │   2021 │ Oldham Athletic       │ Crawley Town        │               3 │               3 │
16. │ 2022-05-07 │   2021 │ Stevenage Borough     │ Salford City        │               4 │               2 │
17. │ 2022-05-07 │   2021 │ Walsall               │ Swindon Town        │               0 │               3 │
    └────────────┴────────┴───────────────────────┴─────────────────────┴─────────────────┴─────────────────┘
```

Insérez les données :

```sql theme={null}
INSERT INTO football FROM INFILE 'football.orc' FORMAT ORC;
```

<div id="reading-data">
  ### Lire les données
</div>

Lisez les données au format `ORC` :

```sql theme={null}
SELECT *
FROM football
INTO OUTFILE 'football.orc'
FORMAT ORC
```

<Tip>
  ORC est un format binaire qui ne s’affiche pas sous une forme lisible dans le terminal. Utilisez `INTO OUTFILE` pour écrire des fichiers ORC.
</Tip>

<div id="format-settings">
  ## Paramètres du format
</div>

| Paramètre                                                                                                                                                                                 | Description                                                                                                              | Par défaut |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------- |
| [`output_format_arrow_string_as_string`](/fr/reference/settings/formats#output_format_arrow_string_as_string)                                                                             | Utiliser le type String d’Arrow au lieu de Binary pour les colonnes String.                                              | `false`    |
| [`output_format_orc_compression_method`](/fr/reference/settings/formats#output_format_orc_compression_method)                                                                             | Méthode de compression utilisée pour le format ORC de sortie. Valeur par défaut                                          | `none`     |
| [`input_format_arrow_case_insensitive_column_matching`](/fr/reference/settings/formats#input_format_arrow_case_insensitive_column_matching)                                               | Ignorer la casse lors de la correspondance entre les colonnes Arrow et ClickHouse.                                       | `false`    |
| [`input_format_arrow_allow_missing_columns`](/fr/reference/settings/formats#input_format_arrow_allow_missing_columns)                                                                     | Autoriser les colonnes manquantes lors de la lecture des données Arrow.                                                  | `false`    |
| [`input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference`](/fr/reference/settings/formats#input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference) | Autoriser l’omission des colonnes ayant des types non pris en charge lors de l’inférence du schéma pour le format Arrow. | `false`    |

Pour échanger des données avec Hadoop, vous pouvez utiliser le [moteur de table HDFS](/fr/reference/engines/table-engines/integrations/hdfs).
