AirbyteをClickHouseに接続する
ClickHouse用のAirbyteソースおよびデスティネーションは現在アルファステータスであり、大規模なデータセット(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 に正常にロードできました。