AirbyteをClickHouseに接続する
ClickHouse用のAirbyteソースおよびデスティネーションは現在アルファステータスであり、大規模なデータセット(1,000万行超)の移動には適していません。
Airbyte
は、オープンソースのデータ統合プラットフォームです。
ELT
データパイプラインの作成が可能で、140以上のすぐに使えるコネクタが付属しています。このステップバイステップのチュートリアルでは、AirbyteをClickHouseのデスティネーションとして接続し、サンプルデータセットを読み込む方法を説明します。
Airbyte をダウンロードして実行する
-
Airbyte は Docker 上で動作し、
docker-composeを使用します。最新版の Docker をダウンロードしてインストールしてください。 -
公式の GitHub リポジトリをクローンし、任意のターミナルで
docker-compose upを実行して Airbyte をデプロイします。 -
ターミナルに Airbyte のバナーが表示されたら、localhost:8000 に接続できます。
注記代わりに、Airbyte Cloud にサインアップして利用することもできます。
ClickHouse を送信先として追加する
このセクションでは、ClickHouse インスタンスを送信先として追加する方法を説明します。
-
ClickHouse サーバーを起動します(Airbyte は ClickHouse バージョン
21.8.10.19以降と互換性があります)、または ClickHouse Cloud アカウントにログインします。 -
Airbyte 内で "Destinations" ページを選択し、新しい送信先を追加します。

-
"Destination type" のドロップダウンリストから ClickHouse を選択し、ClickHouse のホスト名とポート、データベース名、ユーザー名とパスワードを入力して "Set up the destination" フォームに必要事項を記入し、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 インスタンスに接続し、作成されたテーブルの内容を確認します:
応答は次のようになります:
データセットがClickHouseインスタンスにロードされたので、新しいテーブルを作成し、より適切なClickHouseデータ型を使用できます(詳細)。
- おめでとうございます。Airbyteを使用してNYCタクシーデータをClickHouseに正常にロードできました。