Airbyte を使用して外部ソースから Teradata Vantage にデータをロードする方法
概要
このチュートリアルでは、Airbyteを使用してソースからTeradata Vantageにデータを移動する方法を紹介し、 Airbyte Open Source オプション と Airbyte Cloud オプション の両方について詳しく説明します。 この具体的な例では、Google スプレッドシートから Teradata Vantage へのレプリケーションを取り上げます。
-
ソース: Google スプレッドシート
-
宛先: Teradata Vantage
![サンプル従業員の給与Google スプレッドシート](../../_images/elt/getting-started-with-airbyte/sample_employees_payrate_google_sheets.png)
前提条件
-
Teradata Vantageインスタンスへのアクセス。これは、Airbyte 接続の宛先として定義されます。Airbyteの設定には、データベースの
Host
、Username
、Password
が必要です。Vantage のテスト インスタンスが必要な場合は、 https://clearscape.teradata.com. で無料でプロビジョニングできます。 -
個人または組織のアカウントで Google Cloud Platform API が有効になっている。OAuth またはサービス アカウント キー認証システムを介して Google アカウントを認証する必要があります。この例では、サービス アカウント キー認証システムを使用します。
-
ソース システムからのデータ。この場合は、Google スプレッドシートのサンプルスプレッドシート を使用する。サンプルデータは、従業員型別の給与の内訳です。
Airbyte Cloud
-
Airbyte Cloud でアカウントを作成し、Airbyte Configuration セクションの手順に進みます。
Airbyte Open Source
-
Airbyte Open Source をローカルで実行するには、Docker Compose をインストールします。Docker Compose には Docker Desktop が付属しています。詳細については 、docker ドキュメント を参照してください。
-
Airbyte Open Source リポジトリのクローンを作成し、airbyte ディレクトリに移動します。
git clone --depth 1 https://github.com/airbytehq/airbyte.git cd airbyte
シェルスクリプト`run-ab-platform`を実行する前に、Docker Desktopが実行されていることを確認します。
-
シェルスクリプト
run-ab-platform
を次のように実行しますを実行します。./run-ab-platform.sh
上記のコマンドは、Windowsの
git bash
で実行できます。詳細については 、Airbyte Local Deployment を参照してください。 -
リポジトリに含まれる
env
ファイルにあるデフォルトの信頼証明を入力して、Web アプリ http://localhost:8000/ にログインします。BASIC_AUTH_USERNAME=airbyte BASIC_AUTH_PASSWORD=password
初めてログインするとき、Airbyte は電子メール アドレスを入力し、製品の改善に関する設定を指定するように求めます。設定を入力し、「Get started.」をクリックします。
![環境設定の指定](../../_images/elt/getting-started-with-airbyte/specify_preferences.png)
Airbyte Open Sourceが起動すると、接続ダッシュボードが表示されます。Airbyte Open Sourceを初めて起動した場合は、接続は表示されません。
Airbyteの構成
ソース接続の設定
-
「Create your first connection」をクリックするか、右上隅をクリックして、Airbyte の接続ダッシュボードで新しい接続ワークフローを開始できます。
![最初の接続を作成するダッシュボード](../../_images/elt/getting-started-with-airbyte/create_first_connection.png)
-
Airbyte はソースを尋ねます。既存のソースから選択することも (すでに設定している場合)、新しいソースを設定することもできます。この場合は
Google スプレッドシート
を選択します。 -
認証には、JSON形式のサービスアカウントキーを使用する
サービスアカウントキー認証
を使用している。デフォルトのOAuth
からサービスアカウントキー認証
に切り替えます。. サービス アカウント キー認証で Google アカウントを認証するには、 JSON 形式の Google Cloud サービス アカウント キー を入力してください。サービス アカウントにプロジェクト閲覧者アクセス権があることを確認してください。スプレッドシートがリンクを使用して誰にでも表示できる場合は、それ以上の操作は必要ありません。そうでない場合は、 サービス アカウントにスプレッドシートへのアクセスを認証してください。
-
ソーススプレッドシートへのリンクを
スプレッドシートのリンク
として追加します。
![Airbyteでのソースの設定](../../_images/elt/getting-started-with-airbyte/configuring_source_gsheet_airbyte.png)
詳細については、 Airbyte オープン ソースのソース コネクタとして Google スプレッドシートを設定する を参照してください。 |
-
[Set up source]をクリックし、設定が正しければ、次のメッセージが表示されます。
All connection tests passed!
宛先接続の設定
-
Teradata Vantage
を使用して新しい接続を作成する場合は、「Set up the destination」セクションで宛先型としてTeradata Vantage
を選択します。 -
Host
、User
、およびPassword
を追加する。これらは、Clearscape Analytics Environmentで使用されるHost
、Username
、Password
とそれぞれ同じです。 -
特定のコンテキストに適したデフォルトのスキーマ名を指定します。ここでは、
gsheet_airbyte_td
を提供しました。
`Default Schema` を指定しない場合は、 "Connector failed while creating schema"というエラーが表示されます。 `Default Schema` に適切な名前を指定していることを確認してください。 |
![Airbyteでの宛先Teradataの構成](../../_images/elt/getting-started-with-airbyte/configuring_destination_teradata_airbyte.png)
-
「Set up destination」をクリックします。構成が正しい場合は、メッセージが表示されます。
All connection tests passed!
データ同期の設定
名前空間は、ソースまたは宛先内のストリーム (テーブル) のグループです。リレーショナル データベース システムのスキーマは、名前空間の一例です。ソースでは、名前空間はデータがレプリケート先にレプリケートされる格納場所です。宛先では、名前空間はレプリケートされたデータが宛先内に保存される格納場所です。 詳細については 、Airbyte 名前空間 を参照してください。
![宛先の名前空間](../../_images/elt/getting-started-with-airbyte/namespaces_in_destination.png)
この例では、宛先はデータベースであるため、名前空間は、宛先を設定したときに定義したデフォルトのスキーマ`gsheet_airbyte_td`です。ストリーム名は、ソース内のスプレッドシートの名前をミラーリングするテーブルであり、この場合は`sample_employee_payrate`です。単一のスプレッドシート コネクタを使用しているため、1 つのストリーム (アクティブなスプレッドシート) のみがサポートされます。
他のタイプのソースと宛先では、レイアウトが異なる場合があります。この例では、ソースとしてのGoogle スプレッドシートは名前空間をサポートしていない。 この例では、宛先の名前空間として`<destination schema>`を使用しました。これは、宛先設定で宣言した`Default Schema`に基づいてAirbyteによって割り当てられたデフォルトの名前空間です。データベース`gsheet_airbyte_td`が、Teradata Vantageインスタンスに作成されます。
データ同期の妥当性検査
Airbyte は、Status
タブの [Sync History] セクションで同期の試行を追跡します。
![データ同期のまとめ](../../_images/elt/getting-started-with-airbyte/data_sync_summary.png)
次に、 ClearScape Analytics Experience に移動しで Jupyter Notebookを実行します。ClearScape Analytics Experience のNotebookは Teradata SQL クエリーを実行するように構成されており、データベース gsheet_airbyte_td
、ストリーム (テーブル)、および完全なデータが存在するかどうかを検証します。
![Teradata でのデータ同期の妥当性検査](../../_images/elt/getting-started-with-airbyte/data_sync_validation_in_teradata.png)
%connect local
SELECT DatabaseName, TableName, CreateTimeStamp, LastAlterTimeStamp
FROM DBC.TablesV
WHERE DatabaseName = 'gsheet_airbyte_td'
ORDER BY TableName;
DATABASE gsheet_airbyte_td;
SELECT * FROM _airbyte_raw_sample_employee_payrate;
この接続では正規化と変換がサポートされておらず、 生のテーブル しかないため、宛先のストリーム (テーブル) 名には \_airbyte_raw
という接頭辞が付いています。各ストリーム (テーブル) には 3 つの列が含まれます。
-
_airbyte_ab_id
: Airbyte によって処理される各イベントに割り当てられる uuid。Teradata の列型はVARCHAR(256)
です。 -
_airbyte_emitted_at
: イベントがデータ ソースからいつ取得されたかを表すタイムスタンプ。Teradata の列型はTIMESTAMP(6)
です。 -
_airbyte_data
: イベント データを表す json blob。Teradata の列型はJSON
です。
`_airbyte_data`カラムには、ソースのGoogle スプレッドシートと同じ9行が表示され、データはJSON形式で、必要に応じてさらに変換できる。
まとめ
このチュートリアルでは、Google シートなどのソース システムからデータを抽出し、Airbyte ELT ツールを使用してデータを Teradata Vantage インスタンスにロードする方法を説明しました。エンドツーエンドのデータフローと、Airbyte Open Source をローカルで実行し、ソース接続と宛先接続を構成するための完全な構成手順を確認しました。また、レプリケーション頻度に基づいて利用可能なデータ同期構成についても説明しました。Cloudscape Analytics Experience を使用して宛先での結果を検証し、最終的に Airbyte 接続を一時停止および削除するメソッドを確認しました。