ClickHouseにAirbyteを接続する
AirbyteのClickHouse用ソースおよびデスティネーションは現在アルファ版であり、大規模なデータセット(> 1,000万行)の移動には適していないことに注意してください。
Airbyteはオープンソースのデータ統合プラットフォームです。ELTデータパイプラインの作成を可能にし、140以上のアウトオブボックスコネクタが付属しています。このステップバイステップのチュートリアルでは、AirbyteをClickHouseにデスティネーションとして接続し、サンプルデータセットをロードする方法を示します。
1. Airbyteのダウンロードと実行
-
AirbyteはDocker上で実行され、
docker-compose
を使用します。最新バージョンのDockerをダウンロードしてインストールしてください。 -
正式なGithubリポジトリをクローンし、お好みのターミナルで
docker-compose up
を実行してAirbyteをデプロイします: -
ターミナルにAirbyteバナーが表示されたら、localhost:8000に接続できます。
注記代わりに、Airbyte Cloudにサインアップして使用することもできます。
2. ClickHouseをデスティネーションとして追加する
このセクションでは、ClickHouseインスタンスをデスティネーションとして追加する方法を示します。
-
ClickHouseサーバーを起動します(AirbyteはClickHouseバージョン
21.8.10.19
以上に対応しています)またはClickHouseクラウドアカウントにログインします: -
Airbyte内で「Destinations」ページを選択し、新しいデスティネーションを追加します:
-
「Destination type」ドロップダウンリストからClickHouseを選択し、「Set up the destination」フォームにClickHouseのホスト名とポート、データベース名、ユーザー名、パスワードを提供し、SSL接続かどうかを選択します(
clickhouse-client
の--secure
フラグに相当します): -
おめでとうございます! ClickHouseをAirbyteのデスティネーションとして追加しました。
ClickHouseをデスティネーションとして使用するには、使用するユーザーがデータベース、テーブルの作成、行の挿入の権限を持っている必要があります。Airbyte用に専用のユーザー(例: my_airbyte_user
)を作成し、次の権限を付与することをお勧めします:
3. データセットをソースとして追加する
使用するサンプルデータセットはニューヨーク市のタクシーデータ(Github上)です。このチュートリアルでは、2022年1月の月に対応するこのデータセットのサブセットを使用します。
-
Airbyte内で「Sources」ページを選択し、ファイルタイプの新しいソースを追加します。
-
ソースの名前を付け、NYC Taxi Jan 2022ファイルのURLを提供して「Set up the source」フォームを記入します(下記参照)。ファイル形式として
parquet
、ストレージプロバイダとしてHTTPS Public Web
、データセット名としてnyc_taxi_2022
を選択してください。 -
おめでとうございます! Airbyteにソースファイルを追加しました。
4. 接続を作成し、ClickHouseにデータセットをロードする
- Airbyte内で「Connections」ページを選択し、新しい接続を追加します。

-
「Use existing source」を選択し、ニューヨーク市タクシーデータを選択し、「Use existing destination」を選択してClickHouseインスタンスを選択します。
-
接続の設定フォームに複製頻度を選択します(このチュートリアルでは
manual
を使用します)、「nyc_taxi_2022」を同期したいストリームとして選択します。正規化としてNormalized Tabular Data
を選択してください。

- 接続が作成されたら、「Sync now」をクリックしてデータのロードをトリガーします(
Manual
を複製頻度として選択したため)。

- データがロードを開始します。ビューを展開してAirbyteのログと進捗を確認できます。操作が完了すると、ログに
Completed successfully
メッセージが表示されます:

-
好きなSQLクライアントを使用してClickHouseインスタンスに接続し、結果のテーブルを確認します:
レスポンスは次のようになります:
レスポンスは次のようになります:
-
Airbyteは自動的にデータ型を推測し、デスティネーショントーブルに4つのカラムを追加したことに注意してください。これらのカラムは、Airbyteがレプリケーションロジックを管理し、操作をログするために使用されます。詳細についてはAirbyte公式ドキュメントをご覧ください。
データセットがClickHouseインスタンスにロードされたので、新しいテーブルを作成し、より適切なClickHouseデータタイプを使用できます(詳細)。
-
おめでとうございます - Airbyteを使用してClickHouseにNYCタクシーデータを正常にロードしました!