Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Airflow™
  • Начало работы
    • Все инструкции
      • Managed Service for Apache Airflow™: подключение к базе данных
      • Managed Service for ClickHouse®: подключение к базе данных
      • Managed Service for PostgreSQL: подключение к базе данных
    • Работа с интерфейсами Apache Airflow™
    • Передача логов Apache Airflow™ в Cloud Logging
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • История изменений
  • Вопросы и ответы

В этой статье:

  • Перед началом работы
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  1. Пошаговые инструкции
  2. Подключения
  3. Managed Service for ClickHouse®: подключение к базе данных

Подключение к Yandex Managed Service for ClickHouse®

Статья создана
Yandex Cloud
Обновлена 21 марта 2025 г.
  • Перед началом работы
  • Создайте секрет Yandex Lockbox
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат

С помощью направленного ациклического графа (DAG) можно настроить подключение к БД в кластере Yandex Managed Service for ClickHouse®. Данные для подключения к БД хранятся в Yandex Lockbox и автоматически подставляются в граф.

Перед началом работыПеред началом работы

  1. Создайте кластер Managed Service for ClickHouse® с параметрами:

    • Имя БД — default;
    • Имя пользователя — admin;
    • Пароль — admin-password.
  2. Выдайте своему сервисному аккаунту роль lockbox.payloadViewer.

    Роль lockbox.payloadViewer не обязательно выдавать на весь каталог. Достаточно назначить ее на конкретный секрет Yandex Lockbox после его создания.

Создайте секрет Yandex LockboxСоздайте секрет Yandex Lockbox

Создайте секрет Yandex Lockbox с именем airflow/connections/ch1 и содержимым json.dumps(conn), где conn — подключение к кластеру Managed Service for ClickHouse®. В качестве значения conn_type укажите SQLite или другую БД SQL.

conn = {
         "conn_type": "SQLite",
         "host": "<FQDN_хоста_кластера_ClickHouse®>",
         "port": 9440,
         "schema": "default",
         "login": "admin",
         "password": "admin-password",
         "extra": {
             "secure": True,
         }
}

В секрете будут сохранены данные для подключения к БД в кластере Managed Service for ClickHouse®.

Подробнее о том, как узнать FQDN хоста кластера ClickHouse®, см. в разделе FQDN хостов ClickHouse®.

Подготовьте DAG-файл и запустите графПодготовьте DAG-файл и запустите граф

  1. Создайте локально файл с именем clickhouse.py и скопируйте в него скрипт:

    from airflow.decorators import dag, task
    from airflow_clickhouse_plugin.hooks.clickhouse import ClickHouseHook
    
    
    @dag(schedule=None)
    def clickhouse():
        @task
        def query_clickhouse():
            ch_hook = ClickHouseHook(clickhouse_conn_id="ch1")
            result = ch_hook.execute('select 1;')
            print(f'query result: {result}')
    
        query_clickhouse()
    
    
    clickhouse()
    
  2. Загрузите DAG-файл clickhouse.py в созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически.

  3. Откройте веб-интерфейс Apache Airflow™.

  4. Убедитесь, что в разделе DAGs появился новый граф clickhouse.

    Загрузка DAG-файла из бакета может занять несколько минут.

  5. Чтобы запустить граф, в строке с его именем нажмите кнопку image.

Проверьте результатПроверьте результат

Чтобы проверить результат в веб-интерфейсе Apache Airflow™:

  1. В разделе DAGs откройте граф clickhouse.
  2. Перейдите в раздел Graph.
  3. Выберите задание query_clickhouse.
  4. Перейдите в раздел Logs.
  5. Убедитесь, что в логах есть строка query result: 1. Это значит, что запрос выполнен успешно.

Была ли статья полезна?

Предыдущая
Managed Service for Apache Airflow™: подключение к базе данных
Следующая
Managed Service for PostgreSQL: подключение к базе данных
Проект Яндекса
© 2025 ООО «Яндекс.Облако»