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

トラブルシューティングと制限事項

トラブルシューティング

「データベース recommender_system はHive metastoreに存在しません。」

特徴量テーブルは Delta テーブルとして格納されます。 データベースはテーブル名のプレフィックスで指定されるため、特徴量テーブル recommender_system.customer_featuresrecommender_system データベースに格納されます。

データベースを作成するには、次のコマンドを実行します。

%sql CREATE DATABASE IF NOT EXISTS recommender_system;

"ModuleNotFoundError: 'databricks.feature_engineering' という名前のモジュールが見つかりません"または「ModuleNotFoundError: 'databricks.feature_store' という名前のモジュールが見つかりません」

このエラーは、使用している Databricks Runtime に databricks-feature-engineeringがインストールされていない場合に発生します。

databricks-feature-engineering は PyPIで使用でき、次のものと共にインストールできます。

%pip install databricks-feature-engineering

"ModuleNotFoundError: 'databricks.feature_store' という名前のモジュールが見つかりません"

このエラーは、使用している Databricks Runtime に databricks-feature-store がインストールされていない場合に発生します。

注記

Databricks Runtime 14.3 以降の場合は、代わりに databricks-feature-engineeringを %pip install databricks-feature-engineering

databricks-feature-store は PyPI で利用でき、以下を使用してインストールできます。

%pip install databricks-feature-store

無効な入力です。データがモデル署名と互換性がありません。非有限値を変換できません...

このエラーは、モデルサービングでFeature Storeパッケージ化されたモデルを使用するときに発生する可能性があります。 エンドポイントへの入力でカスタム機能値を指定する場合、入力の各行に対して機能の値を指定するか、行を指定しないかのどちらかを選択する必要があります。一部の行のみに機能のカスタム値を指定することはできません。

「特徴量テーブルに適したオンラインストアが見つかりませんでした」

このエラーは、自動機能検索またはFeature Serving使用するモデルのサービスエンドポイントを作成または再構築するときに発生します。 エラーメッセージは、サービス提供に失敗したエンドポイントのイベントログに表示されます。これは、オフラインの特徴量テーブルとオンラインのFeature Storeの間の切断を示します。

原因1: テーブルが公開されていない

オフライン特徴量テーブルを検索するには、オンライン ストアで利用できる必要があります。 エラーの最も一般的な原因は、必要な特徴量テーブル (エラー メッセージにリストされている) が Online Feature Storeにまだ公開されていないことです。

解決策 : Online Feature Store の指示に従って、エラーに記載されているテーブルを公開します。

原因2: ソーステーブルが再作成された(IDの不一致)

この場合、オフラインの特徴量テーブルがオンライン ストアに公開され、その後オフラインの特徴量テーブルが削除されて再作成されました。 オンラインテーブルは、 source_table_idを介してそのソースを追跡し、 はオフラインテーブルのtable_idを指し示します。再作成されたオフラインの要素量テーブルが同じ名前であっても、新しいtable_idを持つため、オンラインテーブルのsource_table_idは依然として古い (削除された) オフラインテーブルを指しています。

診断 :以下の項目を使用して、これが問題の原因かどうかを確認できます。

  1. オフライン特徴量テーブル ID を取得します。

  2. オンライン テーブル ソース ID を取得します。

    • カタログ エクスプローラーで対応するオンライン テーブルを見つけます。
    • 詳細 タブを開きます。
    • プロパティ の下でsource_table_idを見つけます。

IDが一致しない場合、リンクは無効です。これは、オフラインのソーステーブルが再作成されたことを意味します。この問題を解決するには、2つの選択肢があります。

解決策オプション1:以前のオフラインテーブルを復元する

  • 現在のテーブルの名前を変更するには、 ALTER TABLE RENAME TOコマンドを使用します。
  • UNDROP TABLE WITH IDコマンドを使用して、オンライン テーブル プロパティに記録されているsource_table_idを使用して以前のテーブルを復元します。
  • 新しいオンライン テーブルに接続するには、サービス エンドポイントを更新または再作成します。

解決策オプション2:現在のオフラインテーブルを保持し、新しいオンラインストアに公開する

  • 指示に従って特徴量テーブルを公開します
  • 新しいオンライン テーブルに接続するには、サービス エンドポイントを更新または再作成します。
  • オプション : 混乱を避けるために、古いオンライン テーブルをクリーンアップします。

制限

  • FeatureSpec には最大 1000 個の機能を含めることができます。単一の FeatureSpec で多数の機能を使用するとFeature Servingレイテンシが増加する可能性があります。

  • モデルをトレーニングするために最大 50 のテーブルを使用できます。

  • モデル内で使用できるオンデマンド機能は最大100個です。

  • Lakeflow Spark宣言型パイプラインを特徴量テーブルとして使用する場合、 Databricks Runtime MLクラスターはサポートされません。 代わりに、標準アクセス モードのコンピュート リソースを使用し、 pip install databricks-feature-engineeringを使用してクライアントを手動でインストールします。 その他の必要な ML ライブラリもインストールする必要があります。

    Python
    %pip install databricks-feature-engineering
  • Databricks レガシー ワークスペース Feature Store は、特徴量テーブルからの個々のフィーチャの削除をサポートしていません。