メインコンテンツまでスキップ
メインコンテンツまでスキップ

ClickHouseにAirbyteを接続する

Community Maintained
注記

AirbyteのClickHouse用ソースおよびデスティネーションは現在アルファ版であり、大規模なデータセット(> 1,000万行)の移動には適していないことに注意してください。

Airbyteはオープンソースのデータ統合プラットフォームです。ELTデータパイプラインの作成を可能にし、140以上のアウトオブボックスコネクタが付属しています。このステップバイステップのチュートリアルでは、AirbyteをClickHouseにデスティネーションとして接続し、サンプルデータセットをロードする方法を示します。

1. Airbyteのダウンロードと実行

  1. AirbyteはDocker上で実行され、docker-composeを使用します。最新バージョンのDockerをダウンロードしてインストールしてください。

  2. 正式なGithubリポジトリをクローンし、お好みのターミナルでdocker-compose upを実行してAirbyteをデプロイします:

  3. ターミナルにAirbyteバナーが表示されたら、localhost:8000に接続できます。

    注記

    代わりに、Airbyte Cloudにサインアップして使用することもできます。

2. ClickHouseをデスティネーションとして追加する

このセクションでは、ClickHouseインスタンスをデスティネーションとして追加する方法を示します。

  1. ClickHouseサーバーを起動します(AirbyteはClickHouseバージョン21.8.10.19以上に対応しています)またはClickHouseクラウドアカウントにログインします:

  2. Airbyte内で「Destinations」ページを選択し、新しいデスティネーションを追加します:

  3. 「Destination type」ドロップダウンリストからClickHouseを選択し、「Set up the destination」フォームにClickHouseのホスト名とポート、データベース名、ユーザー名、パスワードを提供し、SSL接続かどうかを選択します(clickhouse-client--secureフラグに相当します):

  4. おめでとうございます! ClickHouseをAirbyteのデスティネーションとして追加しました。

注記

ClickHouseをデスティネーションとして使用するには、使用するユーザーがデータベース、テーブルの作成、行の挿入の権限を持っている必要があります。Airbyte用に専用のユーザー(例: my_airbyte_user)を作成し、次の権限を付与することをお勧めします:

3. データセットをソースとして追加する

使用するサンプルデータセットはニューヨーク市のタクシーデータGithub上)です。このチュートリアルでは、2022年1月の月に対応するこのデータセットのサブセットを使用します。

  1. Airbyte内で「Sources」ページを選択し、ファイルタイプの新しいソースを追加します。

  2. ソースの名前を付け、NYC Taxi Jan 2022ファイルのURLを提供して「Set up the source」フォームを記入します(下記参照)。ファイル形式としてparquet、ストレージプロバイダとしてHTTPS Public Web、データセット名としてnyc_taxi_2022を選択してください。

  3. おめでとうございます! Airbyteにソースファイルを追加しました。

4. 接続を作成し、ClickHouseにデータセットをロードする

  1. Airbyte内で「Connections」ページを選択し、新しい接続を追加します。
  1. 「Use existing source」を選択し、ニューヨーク市タクシーデータを選択し、「Use existing destination」を選択してClickHouseインスタンスを選択します。

  2. 接続の設定フォームに複製頻度を選択します(このチュートリアルではmanualを使用します)、「nyc_taxi_2022」を同期したいストリームとして選択します。正規化としてNormalized Tabular Dataを選択してください。

  1. 接続が作成されたら、「Sync now」をクリックしてデータのロードをトリガーします(Manualを複製頻度として選択したため)。
  1. データがロードを開始します。ビューを展開してAirbyteのログと進捗を確認できます。操作が完了すると、ログにCompleted successfullyメッセージが表示されます:
  1. 好きなSQLクライアントを使用してClickHouseインスタンスに接続し、結果のテーブルを確認します:

    レスポンスは次のようになります:

    レスポンスは次のようになります:

  2. Airbyteは自動的にデータ型を推測し、デスティネーショントーブルに4つのカラムを追加したことに注意してください。これらのカラムは、Airbyteがレプリケーションロジックを管理し、操作をログするために使用されます。詳細についてはAirbyte公式ドキュメントをご覧ください。

    データセットがClickHouseインスタンスにロードされたので、新しいテーブルを作成し、より適切なClickHouseデータタイプを使用できます(詳細)。

  3. おめでとうございます - Airbyteを使用してClickHouseにNYCタクシーデータを正常にロードしました!