Перейти к основному содержанию
Перейти к основному содержанию

Power BI

ClickHouse Supported

Microsoft Power BI может выполнять запросы к данным в ClickHouse Cloud или в самостоятельно управляемом развертывании, а также загружать эти данные в память.

Существует несколько вариантов Power BI, которые вы можете использовать для визуализации данных:

  • Power BI Desktop: настольное приложение для Windows для создания дашбордов и визуализаций
  • Power BI Service: доступен в Azure как SaaS-сервис для размещения дашбордов, созданных в Power BI Desktop

В Power BI дашборды необходимо создавать в версии Desktop и публиковать в Power BI Service.

В этом руководстве вы выполните следующие шаги:

Предварительные требования

Установка Power BI

В этом руководстве предполагается, что на вашем компьютере с Windows установлен Microsoft Power BI Desktop. Вы можете загрузить и установить Power BI Desktop здесь

Рекомендуется обновить Power BI до последней версии. Коннектор ClickHouse доступен по умолчанию, начиная с версии 2.137.751.0.

Сбор данных для подключения к ClickHouse

Вам потребуются следующие данные для подключения к вашему экземпляру ClickHouse:

  • Hostname — имя хоста ClickHouse
  • Username — имя пользователя
  • Password — пароль пользователя
  • Database — имя базы данных на экземпляре, к которому вы хотите подключиться

Power BI Desktop

Чтобы начать выполнять запросы к данным в Power BI Desktop, выполните следующие шаги:

  1. Установите драйвер ClickHouse ODBC
  2. Найдите коннектор ClickHouse
  3. Подключитесь к ClickHouse
  4. Выполняйте запросы и визуализируйте данные

Установка драйвера ODBC

Скачайте последнюю версию ClickHouse ODBC.

Запустите загруженный установщик .msi и следуйте инструкциям мастера.

Мастер установки драйвера ClickHouse ODBC с отображением параметров установки

Примечание

Debug symbols являются необязательными и не требуются.

Проверка драйвера ODBC

После завершения установки драйвера вы можете убедиться, что установка прошла успешно, выполнив следующее:

Найдите ODBC в меню «Пуск» и выберите «ODBC Data Sources (64-bit)».

Поиск в Windows с отображением пункта ODBC Data Sources (64-bit)

Убедитесь, что драйвер ClickHouse присутствует в списке.

ODBC Data Source Administrator с драйверами ClickHouse на вкладке Drivers

Поиск коннектора ClickHouse

Примечание

Доступно в версии Power BI Desktop 2.137.751.0.

На стартовом экране Power BI Desktop нажмите «Get Data».

Стартовый экран Power BI Desktop с кнопкой Get Data

Введите в поле поиска «ClickHouse».

Диалог Power BI Get Data с ClickHouse, введённым в строку поиска

Подключение к ClickHouse

Выберите коннектор и введите учётные данные экземпляра ClickHouse:

  • Host (required) — домен/адрес вашего экземпляра. Убедитесь, что он указан без префиксов и суффиксов.
  • Port (required) — порт вашего экземпляра.
  • Database — имя вашей базы данных.
  • Options — любые параметры ODBC, перечисленные на странице ClickHouse ODBC в GitHub
  • Data Connectivity mode — DirectQuery
Диалог подключения к ClickHouse с полями host, port, database и connectivity mode

Примечание

Рекомендуем выбрать DirectQuery для прямого выполнения запросов к ClickHouse.

Если ваш сценарий предполагает небольшой объём данных, можно выбрать режим импорта, и все данные будут загружены в Power BI.

  • Укажите имя пользователя и пароль.
Диалог ввода учётных данных подключения к ClickHouse с полями username и password

Выполнение запросов и визуализация данных

В результате вы должны увидеть базы данных и таблицы в окне Navigator. Выберите нужную таблицу и нажмите «Load», чтобы импортировать данные из ClickHouse.

Окно Power BI Navigator с таблицами базы данных ClickHouse и примерами данных

После завершения импорта данные ClickHouse будут доступны в Power BI как обычно.


Сервис Power BI

Чтобы использовать Microsoft Power BI Service, необходимо создать локальный шлюз данных.

Подробную информацию по настройке пользовательских коннекторов см. в документации Microsoft о том, как использовать пользовательские коннекторы данных с локальным шлюзом данных.

Драйвер ODBC (только импорт)

Мы рекомендуем использовать ClickHouse Connector, который использует DirectQuery.

Установите драйвер ODBC на экземпляр локального шлюза данных и проверьте его работу, как описано выше.

Создание нового пользовательского DSN

После завершения установки драйвера можно создать источник данных ODBC. Найдите ODBC в меню «Пуск» и выберите "ODBC Data Sources (64-bit)".

Поиск в Windows с вариантом ODBC Data Sources (64-bit)

Здесь нужно добавить новый пользовательский DSN. Нажмите кнопку "Add" слева.

ODBC Data Source Administrator с выделенной кнопкой Add для создания нового DSN

Выберите Unicode-версию драйвера ODBC.

Диалог Create New Data Source с выбранным ClickHouse Unicode Driver

Заполните параметры подключения.

Диалог конфигурации ClickHouse ODBC Driver с параметрами подключения

Примечание

Если вы используете развертывание с включенным SSL (например, ClickHouse Cloud или самостоятельный экземпляр), в поле SSLMode следует указать require.

  • В Host всегда должен отсутствовать протокол (то есть http:// или https://).
  • Timeout — целое число, задающее тайм-аут в секундах. Значение по умолчанию: 30 секунд.

Загрузка данных в Power BI

Если у вас еще не установлен Power BI, скачайте и установите Power BI Desktop.

На стартовом экране Power BI Desktop нажмите "Get Data".

Стартовый экран Power BI Desktop с кнопкой Get Data

Выберите "Other" -> "ODBC".

Диалог Power BI Get Data с выбранным вариантом ODBC в категории Other

Выберите ранее созданный источник данных из списка.

Диалог выбора драйвера ODBC с настроенным ClickHouse DSN

Примечание

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

Диалог ввода учетных данных для подключения к ODBC DSN

В итоге вы должны увидеть базы данных и таблицы в окне Navigator. Выберите нужную таблицу и нажмите "Load", чтобы импортировать данные из ClickHouse.

Окно Power BI Navigator с таблицами базы данных ClickHouse и примером данных

После завершения импорта данные из ClickHouse будут доступны в Power BI как обычно.

Оптимизация работы с большими наборами данных

PowerBI разработан для традиционных строчно-ориентированных баз данных с умеренными объемами данных. При работе с ClickHouse на больших объемах (миллиарды строк) для достижения оптимальной производительности требуется использование специальных архитектурных шаблонов.

PowerBI автоматически генерирует SQL-запросы с вложенными подзапросами, сложными соединениями и трансформациями «на лету». Эти подходы хорошо работают с традиционными SQL-базами данных, но могут быть неэффективны при выполнении запросов к крупномасштабным столбцовым базам данных, таким как ClickHouse.

Рекомендуемый подход для больших наборов данных: вместо того чтобы обращаться напрямую к «сырым» таблицам, создавайте в ClickHouse отдельные materialized views для каждой визуализации дашборда. Это обеспечивает:

  • Стабильную, высокую производительность независимо от объема данных
  • Более низкую нагрузку на кластер ClickHouse
  • Более предсказуемые затраты
Примечание

Если ваши дашборды работают медленно, проверьте query_log в ClickHouse, чтобы увидеть, какие SQL-запросы фактически выполняет Power BI. Распространенные проблемы включают вложенные подзапросы, сканирование всех таблиц или неэффективные соединения. После того как вы определите проблему, создайте materialized views, которые устраняют эти конкретные проблемы.

Рекомендации по реализации

Стратегия предагрегации

Создавайте materialized view на нескольких уровнях агрегации:

  • Почасовые агрегации для недавних, детализированных дашбордов
  • Дневные агрегации для анализа исторических тенденций
  • Месячные сводки для долгосрочной отчетности
  • Храните сырые данные с подходящим TTL для разовых аналитических запросов

Оптимизация моделирования данных

  • Определяйте ключи ORDER BY, соответствующие вашим шаблонам запросов
  • Используйте разбиение на партиции для данных временных рядов
  • Преобразуйте небольшие таблицы измерений в словари для эффективного поиска
  • Используйте проекции для дополнительной оптимизации запросов

Известные ограничения

UInt64

Беззнаковые целочисленные типы, такие как UInt64 и старше, не будут автоматически загружены в набор данных, так как Int64 — максимальный целочисленный тип, поддерживаемый Power BI.

Примечание

Чтобы корректно импортировать данные, перед нажатием кнопки "Load" в окне Navigator сначала нажмите "Transform Data".

В этом примере таблица pageviews содержит столбец UInt64, который по умолчанию определяется как тип "Binary". "Transform Data" открывает Power Query Editor, где мы можем изменить тип столбца, установив его, например, как Text.

Power Query Editor, показывающий преобразование типа данных для столбца UInt64

По завершении нажмите "Close & Apply" в левом верхнем углу и продолжите загрузку данных.