Внешние таблицы
Часть внешних источников, например, системы управления базами данных, хранят данные в схематизированном виде, а часть, как 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).