Экспорт данных в СУБД (в standalone-таблицу)
Содержание раздела
Система позволяет экспортировать данные системы в таблицы СУБД (standalone-таблицы). Экспорт возможен из любых логических сущностей, поддерживающих SELECT-запросы.
Предварительный шаг перед экспортом
Экспорт данных в standalone-таблицу выполняется с помощью внешней writable-таблицы. Если она отсутствует, ее необходимо создать.
Чтобы создать внешнюю writable-таблицу, выполните запрос CREATE WRITABLE EXTERNAL TABLE:
- если standalone-таблица отсутствует и ее нужно создать при создании внешней таблицы, укажите в запросе ключевое слово OPTIONS со значением
auto.create.table.enable=true; - иначе выполните запрос без ключевого слова
OPTIONS.
Как экспортировать данные системы в standalone-таблицу
Чтобы экспортировать данные логических сущностей в standalone-таблицу:
- Выполните запрос INSERT SELECT, где в качестве источника укажите нужные логические сущности, а в качестве приемника — внешнюю writable-таблицу:
- чтобы выполнить запрос в синхронном режиме, используйте любой из способов:
- чтобы выполнить запрос в асинхронном режиме, отправьте его по HTTP с помощью POST-метода query с параметром async, имеющим значение
true.
При вставке данных в standalone-таблицы учитывайте ограничения таблиц целевой СУБД.
Пример
Экспорт данных из логической таблицы в standalone-таблицу:
-- создание внешней writable-таблицы, связанной со standalone-таблицей датасорса adg
CREATE WRITABLE EXTERNAL TABLE marketing.sales_ext_write_adg (
id BIGINT NOT NULL,
transaction_date TIMESTAMP NOT NULL,
product_code VARCHAR(256) NOT NULL,
product_units BIGINT NOT NULL,
store_id BIGINT NOT NULL,
description VARCHAR(256),
PRIMARY KEY (id)
)
DISTRIBUTED BY (id)
LOCATION 'core:adg://dtm__marketing__sales'
OPTIONS ('auto.create.table.enable=true');
-- вставка данных в standalone-таблицу, на которую указывает внешняя writable-таблица sales_ext_write_adg, из логической таблицы sales
INSERT INTO marketing.sales_ext_write_adg SELECT * FROM marketing.sales DATASOURCE_TYPE = 'adg';