Запросы INSERT

Плагин PXF JDBC позволяет выполнять запросы INSERT во внешних таблицах.

Important

Плагин не гарантирует согласованность запросов INSERT. В этих целях рекомендуется использовать промежуточную (staging-) таблицу во внешней базе данных

Для выполнения запросов INSERT необходимо в PXF создать таблицу EXTERNAL WRITABLE TABLE с форматом FORMAT ‘CUSTOM’ (FORMATTER=’pxfwritable_export’).

Параметры PARTITION_BY, RANGE и INTERVAL в данных таблицах игнорируются.

Пакетный режим

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

Для включения пакетной обработки необходимо создать внешнюю таблицу с параметром BATCH_SIZE, установленным в одно из значений:

  • integer > 1 – используется пакет заданного размера;
  • integer < 0 – используется безразмерный пакет (все записи отправляются одним огромным JDBC-запросом). Настройка может вызвать ошибки, так как каждая база данных имеет собственный лимит на размер запросов JDBC;
  • 0 или 1 – пакетирование не используется.

Пакетная обработка должна поддерживаться драйвером JDBC внешней базы данных. В случае если драйвер не поддерживает пакетный режим, то плагин PXF выполняет запрос INSERT так, как если бы параметр BATCH_SIZE отсутствовал, а в журналы PXF помещается информационное сообщение.

По умолчанию пакетная обработка не используется (параметр BATCH_SIZE отсутствует).