Перейти к основному содержанию
Этот движок интегрируется с экосистемой Azure Blob Storage, обеспечивая потоковый импорт данных.

CREATE TABLE

Параметры движка Параметры AzureQueue совпадают с параметрами, поддерживаемыми движком таблицы AzureBlobStorage. См. раздел с параметрами здесь. Как и в случае с движком таблицы AzureBlobStorage, для локальной разработки Azure Storage можно использовать эмулятор Azurite. Подробнее здесь. Пример

Настройки

Набор поддерживаемых настроек в целом такой же, как у движка таблицы S3Queue, но без префикса s3queue_. См. полный список настроек. Чтобы получить список настроек, заданных для таблицы, используйте таблицу system.azure_queue_settings. Доступно начиная с версии 24.10. Ниже приведены настройки, которые поддерживаются только в AzureQueue и не применяются к S3Queue.

after_processing_move_connection_string

Строка подключения к Azure Blob Storage для перемещения успешно обработанных файлов, если пункт назначения — другой контейнер Azure. Возможные значения:
  • String.
Значение по умолчанию: пустая строка.

after_processing_move_container

Имя контейнера, в который перемещаются успешно обработанные файлы, если пункт назначения — другой контейнер Azure. Возможные значения:
  • String.
Значение по умолчанию: пустая строка. Пример:

SELECT из таблиц на движке таблицы AzureQueue

Запросы SELECT для таблиц AzureQueue по умолчанию запрещены. Это соответствует распространённому паттерну очереди, при котором данные считываются один раз, а затем удаляются из очереди. SELECT запрещён, чтобы предотвратить случайную потерю данных. Однако в некоторых случаях он может быть полезен. Для этого нужно установить значение настройки stream_like_engine_allow_direct_select в True. У движка AzureQueue есть специальная настройка для запросов SELECT: commit_on_select. Установите для неё значение False, чтобы сохранить данные в очереди после чтения, или True, чтобы удалить их.

Описание

SELECT не особенно полезен для потокового импорта (кроме отладки), потому что каждый файл можно импортировать только один раз. Гораздо практичнее организовать обработку в реальном времени с помощью materialized views. Для этого:
  1. С помощью движка создайте таблицу для чтения из указанного пути в S3 и рассматривайте её как поток данных.
  2. Создайте таблицу с нужной структурой.
  3. Создайте materialized view, которое преобразует данные из движка и помещает их в ранее созданную таблицу.
После подключения MATERIALIZED VIEW к движку начинается фоновый сбор данных. Пример:

Виртуальные столбцы

  • _path — путь к файлу.
  • _file — имя файла.
Подробнее о виртуальных столбцах см. здесь.

Интроспекция

Включите логирование для таблицы с помощью настройки таблицы enable_logging_to_queue_log=1. Возможности интроспекции такие же, как у движка таблицы S3Queue, однако есть несколько важных отличий:
  1. Используйте system.azure_queue_metadata_cache для состояния очереди в памяти в версиях сервера >= 25.1. Для более старых версий используйте system.s3queue_metadata_cache (он также содержит информацию о таблицах azure).
  2. Включите system.azure_queue_log через основную конфигурацию ClickHouse, например:
Эта постоянная таблица содержит ту же информацию, что и system.s3queue_metadata_cache, но для обработанных и файлов, обработка которых завершилась ошибкой. Таблица имеет следующую структуру:
Пример:
Последнее изменение 19 июня 2026 г.