Teradata VantageとFEASTで拡張性の高いフィーチャーストアを実現
はじめに
Feast の Teradata 用コネクタは、すべての機能をサポートする完全な実装であり、Teradata Vantage をオンラインおよびオフライン ストアとして使用します。
前提条件
Teradata Vantageインスタンスへのアクセス。
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料でプロビジョニングできます
概要
このハウツーは、Feastの用語を知っていることを前提としています。復習が必要な場合は、公式の FEAST ドキュメント
このドキュメントでは、開発者が Teradata's offline and online store
を Feast と統合する方法を説明します。Teradata のオフライン ストアを使用すると、ユーザーは基盤となる任意のデータ ストアをオフライン機能ストアとして使用できます。モデル トレーニング用にオフライン ストアから機能を取得し、モデル推論時に使用するためにオンライン機能ストアに具体化できます。
一方、オンラインストアは、低レイテンシで機能を提供するために使用されます。 materialize
コマンドを使用して、データソース(またはオフラインストア)からオンラインストアに機能値をロードできます。
feast-teradata
ライブラリは、Teradata のサポートを以下のように追加します。
OfflineStore
OnlineStore
さらに、レジストリ (カタログ) として Teradata を使用することは、 registry_type: sql
によってすでにサポートされており、例に含まれています。つまり、すべてが Teradata に配置されていることになります。ただし、要件、インストールなどに応じて、必要に応じて他のシステムと組み合わせることができます。
はじめに
まず、 feast-teradata
ライブラリをインストールします。
標準ドライバのデータセットを使用して、Teradata で簡単な feast セットアップを作成しましょう。このコマンドはコア feast ライブラリの一部であるテンプレートに対してのみ機能するため、 feast init
は使用できません。このライブラリは最終的に feast コアに統合される予定ですが、現時点では、この特定のタスクには次の cli コマンドを使用する必要があります。その他のすべての feast
cli コマンドは期待どおりに機能します。
次に、Teradata システムに必要な情報の入力を求められ、サンプル データセットがアップロードされます。上記のコマンドを実行するときにリポジトリ名 demo
を使用したと仮定します。リポジトリ ファイルは test_workflow.py
というファイルと一緒に見つかります。この test_workflow.py
を実行すると、レジストリ、OfflineStore、OnlineStore として Teradata を使用した完全なワークフローが実行されます。
demo/feature_repo
ディレクトリ内から、次の feast コマンドを実行して、リポジトリ定義をレジストリに適用 (インポート/更新) します。このコマンドを実行すると、teradata データベース内のレジストリ メタデータ テーブルを確認できるようになります。
feast UI でレジストリ情報を表示するには、次のコマンドを実行します。デフォルトでは 5 秒ごとにポーリングするため、--registry_ttl_sec が重要であることに注意してください。
オフラインストアの設定
レポの定義
以下はdefinition.pyの例で、 エンティティ、ソース コネクタ、およびフィーチャ ビューを設定します。
次に、それぞれのコンポーネントを説明します。
-
TeradataSource:
Teradata (Enterprise または Lake) に格納された機能、または Teradata (NOS, QueryGrid) からの外部テーブルを介してアクセス可能な機能のデータソース -
Entity:
意味的に関連するフィーチャーの集合体 -
Feature View:
フィーチャビューは、特定のデータソースからのフィーチャデータのグループです。フィーチャビューを使用すると、フィーチャとそのデータソースを一貫して定義できるため、プロジェクト全体でフィーチャグループを再利用できるようになります。