Это один из самых эффективных и простых способов копирования данных из
Azure Blob Storage или Azure Data Lake Storage в ClickHouse. С помощью этой табличной
функции можно указать ClickHouse напрямую подключаться к хранилищу Azure и
читать данные по мере необходимости.
Она предоставляет интерфейс, подобный таблице, который позволяет выбирать, вставлять и
фильтровать данные напрямую из источника. Функция хорошо оптимизирована и
поддерживает множество широко используемых форматов файлов, включая CSV, JSON, Parquet, Arrow,
TSV, ORC, Avro и другие. Полный список см. в разделе “Форматы данных”.
В этом разделе мы рассмотрим простое руководство по началу работы с переносом
данных из Azure Blob Storage в ClickHouse, а также важные рекомендации
по эффективному использованию этой функции. Более подробную информацию и дополнительные возможности
см. в официальной документации:
страница документации по табличной функции azureBlobStorage
Получение ключей доступа к Azure Blob Storage
Чтобы ClickHouse мог обращаться к Azure Blob Storage, вам понадобится строка подключения с ключом доступа.
-
В портале Azure перейдите к своей Storage Account.
-
В меню слева в разделе Security +
networking выберите Access keys.
-
Выберите key1 или key2 и нажмите кнопку Show рядом с
полем Connection string.
-
Скопируйте строку подключения — она понадобится вам как параметр для табличной функции
azureBlobStorage.
Запрос данных из Azure Blob Storage
Откройте удобную для вас консоль запросов ClickHouse — это может быть веб-интерфейс ClickHouse Cloud,
клиент ClickHouse CLI или любой другой инструмент, который вы используете для выполнения
запросов. Когда у вас будут готовы и строка подключения, и консоль запросов
ClickHouse, вы сможете начать запрашивать данные напрямую из Azure Blob Storage.
В следующем примере мы запрашиваем все данные, хранящиеся в JSON‑файлах, расположенных
в контейнере с именем data-container:
Если вы хотите скопировать эти данные в локальную таблицу ClickHouse (например, my_table),
можно использовать оператор INSERT INTO ... SELECT:
Это позволяет эффективно загружать внешние данные в ClickHouse без
промежуточных этапов ETL.
Простой пример использования набора данных Environmental Sensors
Для примера мы загрузим один файл из набора данных Environmental Sensors.
-
Загрузите пример файла
из набора данных Environmental Sensors
-
В Azure Portal создайте новую учетную запись хранения, если у вас ее
еще нет.
Убедитесь, что для вашей учетной записи хранения включен параметр Allow storage account key access,
иначе вы не сможете использовать ключи учетной записи для доступа к
данным.
-
Создайте новый контейнер в своей учетной записи хранения. В этом примере мы назовем его sensors.
Вы можете пропустить этот шаг, если используете существующий контейнер.
-
Загрузите ранее скачанный файл
2019-06_bmp180.csv.zst в
контейнер.
-
Выполните описанные ранее шаги, чтобы получить строку подключения к Azure Blob Storage.
Теперь, когда все настроено, вы можете выполнять запросы к данным напрямую из Azure Blob Storage:
- Чтобы загрузить данные в таблицу, создайте упрощенную версию
схемы, используемой в исходном наборе данных:
Дополнительные сведения о параметрах конфигурации и автоматическом определении схемы при
выполнении запросов к внешним источникам, таким как Azure Blob Storage, см. в разделе Автоматическое
определение схемы
- Теперь вставьте данные из Azure Blob Storage в таблицу sensors:
Теперь таблица sensors заполнена данными из файла 2019-06_bmp180.csv.zst,
хранящегося в Azure Blob Storage.
Это лишь краткое введение в использование функции azureBlobStorage. Для
получения информации о более расширенных возможностях и подробных параметрах конфигурации обратитесь к официальной
документации:
Последнее изменение 23 июля 2026 г.