Link Search Menu Expand Document

CREATE DOWNLOAD EXTERNAL TABLE

Содержание раздела
  1. Синтаксис
  2. Ограничения
  3. Пример

Запрос позволяет создать внешнюю таблицу выгрузки в логической базе данных.

В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

После успешного выполнения запроса можно выполнять запросы INSERT INTO download_external_table на выгрузку данных. Подробнее о порядке выполнения действий для выгрузки данных см. в разделе Выгрузка данных.

Изменение внешней таблицы недоступно. Для замены внешней таблицы необходимо удалить ее и создать новую.

Синтаксис

CREATE DOWNLOAD EXTERNAL TABLE [db_name.]ext_table_name(
  column_name_1 datatype_1,
  column_name_2 datatype_2,
  column_name_3 datatype_3
)
LOCATION receiver_URI
FORMAT 'AVRO'
[CHUNK_SIZE records_per_message]

Параметры:

  • db_name — имя логической базы данных, в которой создается внешняя таблица. Указывается опционально, если выбрана логическая БД, используемая по умолчанию;
  • ext_table_name — имя создаваемой внешней таблицы выгрузки. Для удобства различения таблиц выгрузки и таблиц загрузки рекомендуется задавать имя таблицы, указывающее на ее тип, например sales_ext_download;
  • column_name_N — имя столбца таблицы;
  • datatype_N — тип данных столбца column_name_N. Возможные значения см. в разделе Логические типы данных;
  • receiver_URI — путь к топику Kafka (см. Формат пути к внешнему приемнику данных);
  • records_per_message — максимальное количество записей, выгружаемых из хранилища в одном сообщении топика Каfka.

Ограничения

  • Выполнение запроса недоступно в сервисной базе данных INFORMATION_SCHEMA.
  • Имена таблицы и ее столбцов должны начинаться с латинской буквы, после первого символа могут следовать латинские буквы, цифры и символы подчеркивания в любом порядке.
  • Таблица и ее столбцы не могут иметь имена, перечисленные в разделе Зарезервированные слова.

Пример

CREATE DOWNLOAD EXTERNAL TABLE marketing.sales_ext_download (
  id 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