---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/concepts/datamodel/external_table.md?version=v25.3
  - https://ydb.tech/docs/ru/concepts/datamodel/external_table.md?version=v25.3
  - href: ru/concepts/datamodel/external_table.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/concepts/datamodel/external_table.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Внешние таблицы

Часть [внешних источников](https://ydb.tech/docs/ru/concepts/datamodel/external_data_source.md?version=v25.3), например, системы управления базами данных, хранят данные в схематизированном виде, а часть, как S3 (Yandex Object Storage), в виде отдельных файлов. Для работы с файловыми источниками данных необходимо знать как правила расположения файлов, так и форматы самих хранимых данных.

Для описания хранимых данных в таких источниках используется специальная сущность - внешние таблицы, `EXTERNAL TABLE`. Внешние таблицы позволяют задать схему данных у хранимых файлов, а также описать схему расположения файлов внутри источника.

Запись в YQL может выглядеть так:

```yql
CREATE EXTERNAL TABLE s3_test_data (
  key Utf8 NOT NULL,
  value Utf8 NOT NULL
) WITH (
  DATA_SOURCE="bucket",
  LOCATION="folder",
  FORMAT="csv_with_names",
  COMPRESSION="gzip"
);
```

Во внешние таблицы можно вставлять данные, так же, как и в обычные. Например, для записи данных во внешнюю таблицу достаточно выполнить следующий запрос:

```yql
INSERT INTO s3_test_data
SELECT * FROM Table
```

Подробнее про работу с внешними таблицами, описывающими бакеты S3 (Object Storage) описано в разделе [Чтение из бакетов S3 через внешние таблицы](https://ydb.tech/docs/ru/concepts/query_execution/federated_query/s3/external_table.md?version=v25.3).
