Link Search Menu Expand Document

CREATE UPLOAD EXTERNAL TABLE

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

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

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

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

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

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

Синтаксис

CREATE UPLOAD EXTERNAL TABLE [db_name.]ext_table_name (
  column_name_1 datatype_1,
  column_name_2 datatype_2,
  column_name_3 datatype_3
)
LOCATION source_URI
FORMAT 'AVRO'
[MESSAGE_LIMIT messages_per_segment]

Параметры:

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

Ограничения

Выполнение запроса недоступно в сервисной базе данных INFORMATION_SCHEMA.

Пример

CREATE UPLOAD EXTERNAL TABLE sales.sales_ext_upload (
  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'
FORMAT 'AVRO'
MESSAGE_LIMIT 1000