---
title: "Apache Airflow 向けの公式 ClickHouse プロバイダーが利用可能に"
date: "2026-09-25T05:56:21.772Z"
author: "Aditya Chidurala, Bentsi Leviav and Alex Francoeur"
category: "Product"
excerpt: "Apache Airflow 向けの公式 ClickHouse プロバイダーにより、標準 SQL オペレーター、一括挿入、セルフマネージド Airflow と Astronomer の共通セットアップを通じて、データワークフローがシンプルになります。"
---

# Apache Airflow 向けの公式 ClickHouse プロバイダーが利用可能に

## 概要

ClickHouse と Apache Airflow の公式統合が利用可能になり、Airflow の実行環境を問わず、ClickHouse のデータワークフローのオーケストレーションと管理がより容易になりました。すでに多くの ClickHouse ユーザーが、本番環境でこの新しい Apache Airflow プロバイダーを活用しています。

## はじめに {#introduction}

多くの ClickHouse ユーザーは、データパイプラインをオーケストレーションしてデータの取り込みや変換、定期的な分析ジョブをスケジュールするオープンソースの標準ツールとして、[Apache Airflow](https://airflow.apache.org/) を活用しています。これまで両者を接続するには、コミュニティプラグインをインストールするか、独自の統合コードを作成するのが一般的でした。

このたび、Airflow のアップストリームに公式の ClickHouse プロバイダー [`apache-airflow-providers-clickhousedb`](https://airflow.apache.org/registry/providers/clickhousedb/1.0.0/) が追加されました。ClickHouse Connect を介して HTTP(S) 経由で接続し、Airflow の共通 SQL オペレーターに対応するほか、一括処理やクライアント固有の操作を行うための ClickHouse フックも備えています。本記事では、このプロバイダーのインストール方法、接続の設定手順、セルフマネージドの Airflow 環境や [Astronomer](https://www.astronomer.io/) などのマネージドプラットフォーム上で同じワークフローを実行する方法について解説します。

## コミュニティでの発足の経緯 {#community_origins}

今回のリリース以前は、ClickHouse コミュニティが独自にこの課題を解決していました。Airflow にネイティブな ClickHouse 連携機能がなかった当時、Anton Bryzgalov 氏([bryzgaloff](https://github.com/bryzgaloff))が [airflow-clickhouse-plugin](https://github.com/bryzgaloff/airflow-clickhouse-plugin) を開発しました。同氏が長年にわたりメンテナンスを続けた結果、このプラグインは Airflow および ClickHouse コミュニティにおけるデファクトスタンダードとなり、PyPI でも[ダウンロード数上位 1% に入るパッケージ](https://clickpy.clickhouse.com/dashboard/airflow-clickhouse-plugin)へと成長しました。ClickHouse 社内のデータウェアハウスチームが構築した社内ツールの設計にも、このプラグインの慣例が反映されています。ClickHouse のエコシステムが現在のように充実しているのは、こうした貢献のおかげです。Anton 氏に深く感謝いたします。

公式にメンテナンスされた統合環境を求めるチームにとって、このプロバイダーへの移行は自然なアップグレードパスとなります。今後のリソース投下や新機能の追加はこちらを中心に行われますが、移行作業の大半は機械的な手順で完了します。プロバイダーをインストールし、接続先を HTTP(S) ポートに向けたうえで、DAG 内で標準の `SQLExecuteQueryOperator` を使用するだけです。

## 公式プロバイダーを提供する理由 {#why_an_official_provider}

ClickHouse では絶えず新機能をリリースしています。アップストリームに公式プロバイダーが存在することで、外部の追従を待つことなく、データベース本体の進化に足並みを揃えて統合機能を提供できるようになります。

今回の実装にあたっては、以下のような設計方針を採用しました。

- **ClickHouse Connect 上に構築:** プロバイダーは、ClickHouse 社内でメンテナンスしている Python クライアント [`clickhouse-connect`](https://clickhouse.com/docs/ja/integrations/language-clients/python/index) を使い、[HTTP インターフェース](https://clickhouse.com/docs/ja/concepts/features/interfaces/http)経由で接続します。クライアントの高速化や機能追加が行われると、プロバイダーにもそのまま反映されます。  
- **Airflow の共通 SQL フレームワークを採用:** プロバイダーは `apache-airflow-providers-common-sql` 経由で ClickHouse を公開するため、標準の `SQLExecuteQueryOperator` で DDL、DML、分析クエリを処理できます。ClickHouse 固有のオペレーターを新たに覚える必要はありません。  
- **それ以外の処理には専用フックを用意:** 一括挿入やストリーミング、ClickHouse 固有のクライアント呼び出しには、`ClickHouseHook` を介して直接アクセスできます。ネイティブな列指向の挿入パスを利用する `bulk_insert_rows` メソッドも用意されています。

## Airflow と ClickHouse の活用事例 {#how_customers_use_airflow_with_clickhouse}

現在、多くのユーザーが ClickHouse と Airflow を組み合わせて運用しています。この組み合わせは、ClickHouse がサービスを提供するほぼすべての業界に加え、ClickHouse 自身の社内スタックでも活用されています。

Astronomer との関係も双方向のものです。同社のデータオブザーバビリティ製品である Astro Observe は [ClickHouse Cloud 上に構築](https://clickhouse.com/blog/why-astronomer-chose-clickhouse-to-power-its-new-data-observability-platform-astro-observe)されており、数十億件にのぼる Airflow ワークフローイベントを処理して、Airflow ユーザーにパイプラインのリアルタイムなインサイトを提供しています。数千社におよぶ企業に向けて Airflow 運用プラットフォームを提供するチーム自身が、自社の分析基盤として ClickHouse を選択しました。

ストリーミングプラットフォームやソーシャルメディア上で 1,200 万組以上のアーティストの動向を追跡する [Chartmetric](https://clickhouse.com/blog/chartmetric-scaling-music-analytics) は、Airflow でオーケストレーションされたパイプラインと ClickHouse Cloud を組み合わせており、その中には 5 分ごとに 1,500 万行以上を取り込むプレイリストキャッシュパイプラインも含まれています。

ClickHouse 社内でもまったく同じパターンを採用しています。[社内データウェアハウス](https://clickhouse.com/blog/building-a-data-warehouse-with-clickhouse)は ClickHouse Cloud 上に構築されており、Airflow が 40 以上のデータソースにわたる 76 の DAG で挿入ジョブをスケジュールし、1 日あたり約 60 億行のデータを処理しています。週次メトリクスを確認する経営層から、日々の問い合わせに対応するプロダクト、営業、サポートの各チーム、さらには自社データ上で構築を進めているエージェント型ワークフローに至るまで、全社がこの基盤に依存しています。Airflow は、それらすべてにデータを供給し続ける中核コンポーネントとなっています。

## Apache Airflow での始め方 {#getting_started_with_apache_airflow}

オープンソースの Airflow を実行している場合、他のプロバイダーと同様にインストールできます。

<pre><code type='click-ui' language='bash'>
pip install apache-airflow-providers-clickhousedb
</code></pre>

これにより、`apache-airflow-providers-common-sql` と `clickhouse-connect` が自動的に導入されます。次に、接続を作成します。プロバイダーによって `clickhouse` 接続タイプが登録されるため、Airflow UI の **Admin > Connections** から設定するか、環境変数として定義できます。

<pre><code type='click-ui' language='bash'>
export AIRFLOW_CONN_CLICKHOUSE_DEFAULT='{
    "conn_type": "clickhouse",
    "host": "abc123.clickhouse.cloud",
    "port": 8443,
    "login": "default",
    "password": "secret",
    "schema": "my_database",
    "extra": {"secure": true}
}'
</code></pre>

[ClickHouse Cloud](https://clickhouse.com/cloud) や TLS が有効なクラスターの場合は、`secure` を `true` に設定し、ポート `8443` を指定します。

![](https://clickhouse.com/uploads/airflow_sep2026_connection_6e4f1f764f.png)

接続が完了すれば、DAG 自体は標準的な Airflow のコードと変わりません。

<pre><code type='click-ui' language='python'>
from datetime import datetime

from airflow import DAG
from airflow.providers.common.sql.operators.sql import SQLExecuteQueryOperator

with DAG(
    dag_id="clickhouse_example",
    start_date=datetime(2026, 1, 1),
    default_args={"conn_id": "clickhouse_default"},
    schedule="@daily",
    catchup=False,
) as dag:
    create_table = SQLExecuteQueryOperator(
        task_id="create_table",
        sql="""
            CREATE TABLE IF NOT EXISTS events_daily (
                day  Date,
                user_id String,
                events UInt64
            ) ENGINE = MergeTree()
            ORDER BY (day, user_id);
        """,
    )

    aggregate = SQLExecuteQueryOperator(
        task_id="aggregate_events",
        sql="""
            INSERT INTO events_daily
            SELECT toDate(ts), user_id, count()
            FROM events
            WHERE toDate(ts) = yesterday()
            GROUP BY toDate(ts), user_id;
        """,
    )

    create_table &gt;&gt; aggregate
</code></pre>

![](https://clickhouse.com/uploads/airflow_sep2026_dag_5081933f5c.png)

SQL オペレーターでは対応できないワークロードの場合、`ClickHouseHook` を使って基盤となるクライアントに直接アクセスできます。

<pre><code type='click-ui' language='python'>
from airflow.providers.clickhousedb.hooks.clickhouse import ClickHouseHook

hook = ClickHouseHook(clickhouse_conn_id="clickhouse_default")
hook.bulk_insert_rows(
    table="events",
    rows=[("user1", "click"), ("user2", "view")],
    column_names=["user_id", "action"],
    batch_size=1000,
)
</code></pre>

セッション設定、タスク単位でのデータベースオーバーライド、接続オプションを含む詳しいチュートリアルは、[ドキュメント](https://clickhouse.com/docs/ja/integrations/connectors/data-ingestion/etl-tools/airflow-and-clickhouse)に記載されています。実際の動作を確認したい場合は、2026年5月に開催されたユーザーカンファレンス [Open House 2026](https://clickhouse.com/ja/blog/open-house-2026-day-2-jp) のエコシステムセッション内で、Bentsi Leviav による[プロバイダーのデモ](https://youtu.be/f4jNltAxgIA?t=894)をご覧ください。

## Astronomer での始め方 {#getting_started_with_astronomer}

[Astronomer](https://www.astronomer.io/) は、多くのユーザーが本番環境で運用しているマネージド Airflow プラットフォームであり、[Astro CLI](https://www.astronomer.io/docs/astro/cli/overview) はローカルに Airflow 環境を立ち上げる最も手軽な方法です。今回のプロバイダーは特別な設定なしでそのまま動作します。

まず、CLI をインストールしてプロジェクトの雛形を作成します。

<pre><code type='click-ui' language='bash'>
brew install astro
astro dev init
</code></pre>

作成したプロジェクト内の `requirements.txt` にプロバイダーを追加します。

```shell
apache-airflow-providers-clickhousedb
```

続いて、Airflow をローカルで起動します。

<pre><code type='click-ui' language='bash'>
astro dev start
</code></pre>

これで、手元のマシン上でコンテナとして Airflow のコンポーネントが立ち上がります。起動したら、ブラウザで `localhost:8080` を開いて Airflow UI にアクセスし、**Admin > Connections** から **ClickHouse** タイプの接続を作成して、ClickHouse Cloud サービスまたはセルフホストのクラスターを指定します(TLS 接続用に `secure: true` とポート `8443` の設定をお忘れなく)。

前述のセクションの DAG を `dags/` フォルダに配置すると UI 上に表示され、すぐにトリガーできるようになります。

Astro を利用している場合は、さらに簡単な接続方法があります。Astro UI の [Environment Manager](https://www.astronomer.io/docs/astro/create-and-link-connections) を使うと、ClickHouse 接続を一度作成するだけで、認証情報を Astro のマネージドシークレットバックエンドに保存し、ワークスペース内の全デプロイメントで共有できます。必要に応じてデプロイメントごとにオーバーライドすることも可能です。Astro CLI は[それらの接続情報をローカル環境にプル](https://www.astronomer.io/docs/astro/cli/local-connections)できるため、一度 ClickHouse を設定すればローカルでもホスト環境でも共通して使用できます。

![](https://clickhouse.com/uploads/airflow_sep2026_astronomer_e98964a5d8.png)

本番環境へのリリースの準備が整ったら、`astro deploy` を実行するだけで、プロバイダーを含めた同一のプロジェクトが Astro のデプロイメントに反映されます。ローカルと本番環境の間で ClickHouse の設定を変更する必要はありません。

## 今後の展望 {#whats_next}

このプロバイダーは本日より利用可能であり、アーリーアダプターの手によってすでに本番環境で大規模に運用されています。今後の新機能の開発はコミュニティからの要望に基づいて優先順位を決定しますので、必要な機能があれば [Issue や PR](https://github.com/apache/airflow) を通してお知らせください。

現在 Airflow で ClickHouse を運用している方は、ぜひ使い心地をお聞かせください。[ClickHouse Community Slack](https://clickhouse.com/slack) でのご参加をお待ちしています。また、ClickHouse を初めて利用される場合は、300 ドル分の無料クレジットを活用して、数分で [ClickHouse Cloud を試す](https://console.clickhouse.cloud/signUp)ことができます。皆様がどのようなシステムを構築されるか楽しみにしています。

---

## 今すぐ始める

自社のデータで ClickHouse を試してみませんか？ClickHouse Cloud はわずか数分で利用開始でき、300 ドル分の無料クレジットも進呈されます。

[サインアップ](https://console.clickhouse.cloud/signUp?loc=blog-cta-2269&utm_blogctaid=2269)

---