Airbyte の ClickHouse 用ソースおよび宛先は現在 Alpha ステータスであり、大規模なデータセット (1,000 万行超) の移行には適していない点にご注意ください
1
Airbyte をダウンロードして実行する
-
Airbyte は Docker 上で動作し、
docker-composeを使用します。Docker の最新バージョンをダウンロードしてインストールしてください。 -
公式の GitHub repository をクローンし、お好みのターミナルで
docker-compose upを実行して Airbyte をデプロイします。 - ターミナルに Airbyte のバナーが表示されたら、localhost:8000 にアクセスできます
または、Airbyte Cloud にサインアップして利用することもできます
2
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) を次の権限で作成することを推奨します。3
データセットをソースとして追加する
このチュートリアルで使用するサンプルデータセットは、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 にソースファイルが追加されました。
4
接続を作成してデータセットをClickHouseに読み込む
- Airbyte で、“Connections” ページを選択し、新しい接続を追加します
- “既存のログソースを使用”を選択し、New York City Taxi Data を選択したら、“既存の宛先を使用”を選択して、ClickHouse インスタンスを選択します。
-
「接続を設定」フォームで、レプリケーション頻度 (このチュートリアルでは
manualを使用します) を選択し、同期する stream としてnyc_taxi_2022を指定します。Normalization には必ずNormalized Tabular Dataを選択してください。
- 接続を作成したら、“Sync now” をクリックしてデータの読み込みをトリガーします (レプリケーション頻度に
Manualを選択したため) 。
- データの読み込みが開始されます。ビューを展開すると、Airbyte のログと進行状況を確認できます。処理が完了すると、ログに
Completed successfullyというメッセージが表示されます。
-
お好みのSQLクライアントを使用してClickHouseインスタンスに接続し、作成されたテーブルを確認します。
レスポンスは次のようになります。応答は次のとおりです:
-
Airbyte がデータ型を自動的に推論し、宛先テーブルに 4 つのカラムを追加していることに注目してください。これらのカラムは、Airbyte がレプリケーションのロジックを管理し、操作を記録するために使用されます。詳細は、Airbyte 公式ドキュメントを参照してください。
データセットがClickHouseインスタンスに読み込まれたので、新しいテーブルを作成し、ClickHouseのより適切なデータ型を使用できます (詳細はこちら) 。
- おめでとうございます。Airbyte を使用して、NYC タクシーのデータを ClickHouse への読み込みに成功しました。