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

# Устранение ошибки «Cannot Append Data in Parquet Format» в ClickHouse

> Столкнулись с ошибкой "Cannot append data in format Parquet to file" в ClickHouse? Давайте разберёмся, как её устранить.

<div id="resolving-cannot-append-data-in-parquet-format-error-in-clickhouse">
  ## Устранение ошибки "Cannot Append Data in Parquet Format" в ClickHouse
</div>

Возникает ошибка "Cannot append data in format Parquet to file" в ClickHouse?

Обычно она выглядит так:

`DB::Exception: Cannot append data in format Parquet to file, because this format doesn't support appends. (CANNOT_APPEND_TO_FILE)`

Предположим, вы создаёте таблицу с движком таблицы `File` в формате Parquet.

```sql theme={null}
CREATE TABLE parquet_test
(
    `x` UInt32,
    `y` String
)
ENGINE = File(Parquet)
```

В таблицу можно записать данные только один раз:

```sql theme={null}
INSERT INTO parquet_test VALUES
   (1, 'Hello'),
   (2, 'Hi')
```

Это создаст файл `data.Parquet` в папке `data/default/parquet_test`. Если вы попытаетесь вставить ещё один батч:

```sql theme={null}
INSERT INTO parquet_test VALUES
   (3, 'World'),
   (4, 'Bye')
```

...появляется следующая ошибка:

```response theme={null}
Code: 641. DB::Exception: Received from localhost:9000. DB::Exception: Cannot append data in format Parquet to file, because this format doesn't support appends. You can allow to create a new file on each insert by enabling setting engine_file_allow_create_multiple_files. (CANNOT_APPEND_TO_FILE)
```

В ClickHouse нельзя дописывать данные в файлы Parquet. Но можно указать ClickHouse создавать новый файл для каждого `INSERT`, включив [настройку `engine_file_allow_create_multiple_files`](/ru/reference/settings/session-settings#engine_file_allow_create_multiple_files). Если она включена, при каждой вставке будет создаваться новый файл с именем по следующему шаблону:

`data.Parquet` -> `data.1.Parquet` -> `data.2.Parquet` и т. д.:

Давайте попробуем. Поместим наши две команды в один файл с именем `parquet.sql`:

```sql theme={null}
SET engine_file_allow_create_multiple_files = 1;

INSERT INTO default.parquet_test VALUES  (3, 'World'), (4, 'Bye');
```

Запустите это через `clickhouse-client`:

```bash theme={null}
./clickhouse client --queries-file parquet.sql
```

Теперь вы увидите два файла в `data/default/parquet_test` (и новый файл после каждой последующей вставки).

<Note>
  Параметр `engine_file_allow_create_multiple_files` также применяется к другим не поддерживающим дозапись форматам данных, например JSON и ORC.
</Note>
