AirbyteをClickHouseに接続する
AirbyteのClickHouse用のソースとデスティネーションは現在Alphaステータスであり、大規模セット (> 1000万行) を移動するのには適していないことに注意してください。
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を選択し、ClickHouseのホスト名とポート、データベース名、ユーザー名、パスワードを提供して「Set up the destination」フォームに記入し、SSL接続かどうかを選択します(
clickhouse-client
の--secure
フラグに相当します): -
おめでとうございます! AirbyteにClickHouseをデスティネーションとして追加しました。
ClickHouseをデスティネーションとして使用するためには、使用するユーザーがデータベース、テーブルの作成、および行の挿入の権限を持っている必要があります。Airbyte用に専用のユーザー(例:my_airbyte_user
)を作成し、以下の権限を付与することをお勧めします:
3. データセットをソースとして追加する
使用するサンプルデータセットはニューヨーク市タクシーデータ (こちらはGithubにあります)です。このチュートリアルでは、このデータセットの2022年1月のサブセットを使用します。
-
Airbyte内で「Sources」ページを選択し、ファイルタイプの新しいソースを追加します。
-
ソースに名前を付け、NYCタクシー2022年1月のファイルのURLを提供して「Set up the source」フォームを記入します(下記参照)。ファイル形式に
parquet
を選択し、ストレージプロバイダーとしてHTTPS Public Web
を、データセット名にnyc_taxi_2022
を選択することを確認してください。

- おめでとうございます! Airbyteにソースファイルを追加しました。
4. 接続を作成しデータセットをClickHouseにロードする
- Airbyte内で「Connections」ページを選択し、新しい接続を追加します。

-
「Use existing source」を選択し、ニューヨーク市タクシーデータを選択、その後「Use existing destination」を選択し、ClickHouseインスタンスを選択します。
-
「Set up the connection」フォームに記入し、レプリケーションの頻度を選択します(このチュートリアルでは
manual
を使用します)の後、同期したいストリームとしてnyc_taxi_2022
を選択します。正規化としてNormalized Tabular Data
を選択することを確認してください。

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

- データがロードを開始します。Airbyteのログと進捗を表示するために、ビューを拡張できます。処理が完了すると、ログに「Completed successfully」というメッセージが表示されます:

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