Airbyte を ClickHouse に接続する
Airbyte の ClickHouse 向けソースおよび宛先は現在アルファ版であり、大規模なデータセット (> 1,000 万行) の移行には適していない点にご注意ください。
Airbyte はオープンソースのデータインテグレーションプラットフォームです。ELT データパイプラインを作成でき、140 種類を超えるコネクタが標準で提供されています。このステップバイステップのチュートリアルでは、Airbyte を ClickHouse の宛先として接続し、サンプルデータセットを読み込む方法を説明します。
Airbyte のダウンロードと実行
-
Airbyte は Docker 上で動作し、
docker-composeを使用します。必ず最新バージョンの Docker をダウンロードしてインストールしておいてください。 -
Airbyte をデプロイするには、公式の GitHub リポジトリをクローンし、お好みのターミナルで
docker-compose upを実行します。 -
ターミナルに Airbyte のバナーが表示されたら、localhost:8000 にアクセスできます。
注記また、Airbyte Cloud にサインアップして利用することもできます。
ClickHouse を宛先として追加する
このセクションでは、ClickHouse インスタンスを宛先として追加する方法を表示します。
-
ClickHouse サーバーを起動する (Airbyte は ClickHouse バージョン
21.8.10.19以上に対応しています) 、または ClickHouse Cloud アカウントにログインします: -
Airbyte 内の「Destinations」ページを開き、新しい送信先を追加します。

-
「Destination type」のドロップダウンリストから ClickHouse を選択し、「Set up the destination」フォームに ClickHouse のホスト名とポート、データベース名、ユーザー名およびパスワードを入力し、SSL 接続を使用するかどうかを選択します (これは
clickhouse-clientの--secureフラグと同等です) :
-
おめでとうございます!これで Airbyte の宛先として ClickHouse が追加されました。
ClickHouse を宛先として使用するには、使用するユーザーがデータベース、テーブルの作成、および行の挿入を行う権限を持っている必要があります。Airbyte 専用のユーザー (例: my_airbyte_user) を作成し、以下の権限を付与することを推奨します:
ソースとしてデータセットを追加する
このチュートリアルで使用するサンプルデータセットは New York City Taxi Data (Github 上) です。このチュートリアルでは、2022年1月に対応するこのデータセットのサブセットを使用します。
-
Airbyte 内の「Sources」ページを開き、タイプを file とする新しいソースを追加します。

-
"Set up the source" フォームでソース名を入力し、NYC Taxi Jan 2022 ファイルの URL を入力します (下記参照) 。ファイル形式としては
parquet、Storage Provider としてはHTTPS Public Web、Dataset Name としてはnyc_taxi_2022を必ず選択してください。
-
おめでとうございます。Airbyte にソースファイルを追加できました。
ClickHouse への接続を作成し、データセットをロードする
- Airbyte 内の「Connections」ページを開き、新しい接続を追加します。

-
「Use existing source」を選択して New York City Taxi Data を選び、その後「Use existing destination」を選択して自分の ClickHouse インスタンスを指定します。
-
「Set up the connection」フォームで Replication Frequency を選択します (このチュートリアルでは
manualを使用します) 。また、同期したいストリームとしてnyc_taxi_2022を選択します。Normalization として必ずNormalized Tabular Dataを選択してください。

- 接続が作成されたら、「Sync now」をクリックしてデータロードを実行します (Replication Frequency に
Manualを選択しているためです) 。

- データのロードが開始されます。ビューを展開すると、Airbyte のログと進行状況を確認できます。処理が完了すると、ログ内に
Completed successfullyというメッセージが表示されます。

-
お好みの SQL クライアントを使用して ClickHouse インスタンスに接続し、作成されたテーブルの内容を確認します:
応答は次のようになります:
応答は次のとおりです:
-
Airbyte がデータ型を自動的に推論し、宛先テーブルに 4 つのカラムを追加していることがわかります。これらのカラムは、Airbyte によるレプリケーションロジックの管理および操作内容のログ記録に使用されます。詳しくは、Airbyte の公式ドキュメントを参照してください。
データセットが ClickHouse インスタンスにロードされたので、新しいテーブルを作成し、より適した ClickHouse データ型を使用できます (詳細はこちら) 。
-
おめでとうございます。Airbyte を使用して NYC タクシー データを ClickHouse に正常にロードできました。