AirbyteをClickHouseに接続する
AirbyteのClickHouse用ソースおよびデスティネーションは現在アルファ版であり、大規模なデータセット(> 1000万行)の移動には適していないことにご注意ください。
Airbyteはオープンソースのデータ統合プラットフォームです。これは、140以上の標準接続を備えたELTデータパイプラインの作成を可能にします。このステップバイステップのチュートリアルでは、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
フラグに相当): -
おめでとうございます!今、AirbyteにClickHouseをデスティネーションとして追加しました。
ClickHouseをデスティネーションとして使用するには、使用するユーザーがデータベース、テーブルを作成し、行を挿入する権限を持っている必要があります。Airbyte用の専用ユーザー(例: my_airbyte_user
)を作成し、次の権限を与えることをお勧めします:
3. データセットをソースとして追加する
使用するサンプルデータセットは、ニューヨーク市のタクシーデータ(GitHub上)です。このチュートリアルでは、2022年1月のデータセットのサブセットを使用します。
-
Airbyte内で、「Sources」ページを選択し、新しいソースのタイプとしてファイルを追加します。
-
「Set up the source」フォームにソースの名前を付け、NYCタクシー2022年1月のファイルのURLを提供します(下記参照)。ファイル形式は
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にNYCタクシーデータを正常にロードしました!