External Tables
Some external data sources, such as database management systems, store data in a structured format, while others, like S3 (Yandex Object Storage), store data as individual files. To work with file-based data sources, you need to understand both the file placement rules and the formats of the stored data.
A special entity, EXTERNAL TABLE
, describes the stored data in such sources. External tables allow you to define the schema of the stored files and the schema of file placement within the source.
A record in YQL might look like this:
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"
);
Data can be inserted into external tables just like regular tables. For example, to write data to an external table, you need to execute the following query:
INSERT INTO s3_test_data
SELECT * FROM Table
More details on working with external tables describing S3 buckets (Object Storage) can be found in section Reading Data from an External Table Pointing to S3 (Object Storage).