Запись данных в бакеты S3 (Yandex Object Storage)
В YDB для записи данных в бакет Yandex Object Storage можно использовать внешние соединения или внешние таблицы.
Запись данных через внешнее соединение
Запись данных с помощью соединений удобно использовать для прототипирования и первоначальной настройки работы с записью данных. SQL-выражение иллюстрирует запись данных во внешний источник данных напрямую.
INSERT INTO `connection`.`test/`
WITH
(
FORMAT = "csv_with_names"
)
SELECT
"value" AS value, "name" AS name
Запись будет произведена в указанный путь. При этом режиме результирующие файлы не будут партиционированы. Если необходимо партиционировать результирующие файлы, то используйте запись через внешние таблицы. Создаваемые при записи файлы получают случайные имена.
При работе с внешними соединениями возможны только операции чтения (SELECT
) и вставки (INSERT
) данных, другие виды операций не поддерживаются.
Запись данных через внешние таблицы
Если записывать данные нужно регулярно, то удобно делать это с помощью внешних таблиц. При этом нет необходимости указывать все детали работы с этими данными в каждом запросе. Для записи данных в бакет создайте внешнюю таблицу в S3 (Yandex Object Storage) и используйте обычное SQL-выражение INSERT INTO
:
INSERT INTO `test`
SELECT
"value" AS value, "name" AS name