Выгрузка данных
Система позволяет выгружать актуальные и архивные данные, а также совокупность изменений, выполненных в рамках указанных дельт. Возможные способы выбора данных к выгрузке описаны в секции FOR SYSTEM_TIME раздела SELECT.
Для выгрузки данных нужен существующий топик Kafka. Если в брокере сообщений Kafka настроено автоматическое создание топиков, то дополнительные действия не требуются. Иначе необходимо создать топик, если он еще не создан. Подробнее о создании топиков см. в документации Kafka:
- раздел Quick Start,
- раздел Adding and removing topics.
Примечание: выгрузка данных возможна из логических таблиц и логических представлений. Выгрузка данных из материализованных представлений недоступна.
Чтобы выгрузить данные из логической таблицы или логического представления во внешнюю информационную систему:
- Создайте внешнюю таблицу выгрузки, если она еще не создана.
- Выполните запрос INSERT INTO download_external_table на выгрузку данных в топик. В запросе нужно указать внешнюю таблицу выгрузки, определяющую параметры выгрузки.
- Выгрузите данные из топика во внешнюю информационную систему.
Созданные внешние таблицы выгрузки можно использовать повторно или удалить.
Пример
-- выбор логической базы данных sales в качестве базы данных по умолчанию
USE sales
-- создание внешней таблицы выгрузки
CREATE DOWNLOAD EXTERNAL TABLE sales_ext_download (
identification_number INT,
transaction_date TIMESTAMP,
product_code VARCHAR(256),
product_units INT,
store_id INT,
description VARCHAR(256)
)
LOCATION 'kafka://zk1:2181,zk2:2181,zk3:2181/sales_out'
FORMAT 'AVRO'
CHUNK_SIZE 1000
-- запуск выгрузки данных из логической таблицы sales
INSERT INTO sales_ext_download SELECT * FROM sales WHERE product_units > 2