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

dbt と FEAST を使用して Teradata Vantage でフィーチャストアを構築する方法

概要

このチュートリアルでは、生データを取得して FEAST 機能に変換する dbt パイプラインを作成する方法を示します。パイプラインは、データ変換に 'ClearScape Analyticsの機能' を活用します。変換の出力は FEAST に読み込まれ、ML モデルで使用できる機能を実現します。

はじめに

dbt

dbt (データ ビルド ツール) は、モダン データ スタックの基礎となるデータ変換ツールです。ELT (抽出、ロード、変換) の T を担当します。他のプロセスによって生データがデータ ウェアハウスまたはデータ レイクに取り込まれることが前提となります。その後、このデータを変換する必要があります。

Feast

Feast (Feature Store) は、既存のテクノロジーを活用して機械学習機能をリアルタイム モデルに管理および提供する柔軟なデータ システムです。特定のニーズに合わせてカスタマイズできます。また、トレーニングとサービスに機能を一貫して利用できるようにし、データ漏洩を回避し、ML をデータ インフラストラクチャから切り離すこともできます。

前提条件

目的

目標は、Teradata Vantage をソースとしてデータ パイプラインを作成し、dbt のいくつかの変数に対してデータ変換を実行することです。dbt で行うデータ変換の基本は、性別、婚姻状況、州コードなどの複数の列のワンホット エンコーディングです。さらに、アカウント タイプ列のデータは、いくつかの列に対して集計操作を実行することによって変換されます。これらすべてを組み合わせることで、変換されたデータを含む目的のデータセットが生成されます。変換されたデータセットは、FEAST への入力として使用され、特徴を保存します。その後、特徴を使用してモデルのトレーニング データセットが生成されます。

始めましょう

  1. dbt、feast、およびそれらの依存関係を管理するための新しい Python 環境を作成します。環境をアクティブ化します。

  2. チュートリアル リポジトリのクローンを作成し、ディレクトリをプロジェクト ディレクトリに変更します。

    クローンされたプロジェクトのディレクトリ構造は以下のようになります。

銀行ウェアハウスについて

teddy_bankは銀行顧客の架空のデータセットであり、主に顧客、口座、および トランザクションは次のエンティティ関係図で表されます。

dbt feast

dbt はこの生データを取得し、ML モデリングおよび分析ツールにより適した以下のモデルを構築します。

dbt feast

dbtを構成する

次の内容でファイル $HOME/.dbt/profiles.yml を作成します。Teradata インスタンスに合わせて <host><user><password> を調整します。

データベースを設定する

次の dbt プロファイルは teddy_bankというデータベースを指しています。 schema の値を、Teradata Vantage インスタンス内の既存のデータベースを指すように変更できます。

設定を検証します。

デバッグ コマンドがエラーを返した場合は、 profiles.yml の内容に問題がある可能性があります。

FEASTを構成する

Feast構成はVantageデータベースへの接続を指定します。Feastの初期化中に作成されたyamlファイル プロジェクト、 $HOME/.feast/feature_repo/feature_store.yml はオフラインストレージ、オンラインストレージ、プロバイダの詳細を保持できます およびレジストリ。Teradata インスタンスに合わせて <host><user><password> を調整します。

データベースを設定する

次のdbtプロファイルは teddy_bankというデータベースを指しています。 schema の値を変更して、 Teradata Vantageインスタンス内の既存のデータベース

オフラインストアの設定

Teradata SQL レジストリの構文

dbtを実行する

このステップでは、customersaccountstransactions のデータテーブルを入力します。

ディメンションモデルを作成しする

生データ テーブルができたので、ディメンションモデルを作成するように dbt に指示できます。

FEASTの実行

Feature Repositoryの定義

  • TeradataSource: Teradata (Enterprise または Lake) に格納された機能、または Teradata (NOS, QueryGrid) からの外部テーブルを介してアクセス可能な機能のデータソース

  • Entity: 意味的に関連するフィーチャーの集合体

  • Feature View: フィーチャビューは、特定のデータソースからのフィーチャデータのグループです。フィーチャビューを使用すると、フィーチャとそのデータソースを一貫して定義できるため、プロジェクト全体でフィーチャグループを再利用できるようになります。

トレーニングデータを生成します

トレーニング データを生成する方法はさまざまです。要件に応じて、機能ビュー マッピングを使用して 'entitydf' をソース データ テーブルと結合できます。以下は、トレーニング データセットを生成するサンプル関数です。

まとめ

このチュートリアルでは、Teradata Vantage で dbt と FEAST を使用する方法を説明しました。サンプル プロジェクトは、Teradata Vantage から生データを取得し、dbt を使用して機能を生成します。次に、モデルのトレーニング データセットを生成するためのベースとなる機能のメタデータが FEAST を使用して作成され、機能ストアを作成するすべての対応するテーブルも、実行時に同じデータベース内で生成されます。

さらに詳しく

興味深い記事