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

Важно

Данная функциональность находится в режиме "Preview".

Часть внешних источников, например, системы управления базами данных, хранят данные в схематизированном виде, а часть, как S3 (Yandex Object Storage), в виде отдельных файлов. Для работы с файловыми источниками данных необходимо знать как правила расположения файлов, так и форматы самих хранимых данных.

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

Запись в 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"
);

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

INSERT INTO s3_test_data
SELECT * FROM Table

Подробнее про работу с внешними таблицами, описывающими бакеты S3 (Object Storage) описано в разделе Чтение данных из внешней таблицы, ведущей на S3 (Object Storage).