Link Search Menu Expand Document

Выгрузка данных

Система позволяет выгружать актуальные и архивные данные, а также совокупность изменений, выполненных в рамках указанных дельт. Возможные способы выбора данных к выгрузке описаны в секции FOR SYSTEM_TIME раздела SELECT.

Для выгрузки данных нужен существующий топик Kafka. Если в брокере сообщений Kafka настроено автоматическое создание топиков, то дополнительные действия не требуются. Иначе необходимо создать топик, если он еще не создан. Подробнее о создании топиков см. в документации Kafka:

Примечание: выгрузка данных возможна из логических таблиц и логических представлений. Выгрузка данных из материализованных представлений недоступна.

Чтобы выгрузить данные из логической таблицы или логического представления во внешнюю информационную систему:

  1. Создайте внешнюю таблицу выгрузки, если она еще не создана.
  2. Выполните запрос INSERT INTO download_external_table на выгрузку данных в топик. В запросе нужно указать внешнюю таблицу выгрузки, определяющую параметры выгрузки.
  3. Выгрузите данные из топика во внешнюю информационную систему.

Созданные внешние таблицы выгрузки можно использовать повторно или удалить.

Пример

-- выбор логической базы данных 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