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

Delta Sharing での一般的な共有の問題のトラブルシューティング

次のセクションでは、共有内のデータにアクセスしようとしたときに発生する可能性がある一般的なエラーについて説明します。

リソース制限の超過エラー

問題 : 共有テーブルに対するクエリでエラー RESOURCE_LIMIT_EXCEEDEDが返されます。

  • "RESOURCE_LIMIT_EXCEEDED","message":"The table metadata size exceeded limits"
  • "RESOURCE_LIMIT_EXCEEDED","message":"The number of files in the table to return exceeded limits, consider contact your provider to optimize the table"

考えられる原因 : 共有テーブルで許可されるメタデータ内のファイル数には制限があります。

推奨される修正 : これらの問題のいずれかを解決する方法については、Databricks ナレッジ ベースの「 RESOURCE_LIMIT_EXCEEDED error when querying a Delta Sharing table 」を参照してください。

vacuum データファイルの問題

問題 : 「404 指定された [パス|キー] が存在しません」という例外をスローするエラー メッセージが表示されます。

Spark エラーの例:

java.lang.Throwable: HTTP request failed with status: HTTP/1.1 404 The specified path does not exist.

または

HTTP request failed with status: HTTP/1.1 404 Not Found <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message>

考えられる原因 : 通常、このエラーが表示されるのは、署名済み URL に対応するデータ ファイルが共有テーブルで vacuum されており、データ ファイルが履歴テーブル バージョンに属しているためです。

回避策 : 最新のスナップショットをクエリします。

共有マテリアライゼーションアセットのアクセス問題

問題 : 共有ビュー、具体化ビュー view、またはストリーミングテーブルに対するクエリでエラー DS_MATERIALIZATION_QUERY_FAILEDが返されます。

"DS_MATERIALIZATION_QUERY_FAILED": "The shared asset could not be materialized due to the asset not being accessible in the materialization workspace. Please ask data provider to contact :re[DB] support to override the materialization workspace."

考えられる原因 : プロバイダーには、共有しようとしている資産に対する読み取り/書き込みアクセス権がありません。

推奨される解決策 : データ プロバイダーに問い合わせて、共有データ資産への読み取り/書き込みアクセス権があることを確認します。

データの実体化中にネットワーク アクセス エラーが発生しています

問題 : 共有データ アセットに対するクエリで、データ プロバイダーのクラウド ストレージへのアクセスに関するエラーが返されます。

There was an issue accessing the data provider's cloud storage. Shared view materialization uses the Serverless compute of data provider's region to perform the materialization. Please contact the data provider to allowlist Serverless compute IPs of their corresponding region to access the view's dependent tables storage location.

考えられる原因 : 実体化されたデータの保存場所には、 Databricksサーバーレス コンピュートによるアクセスを妨げるネットワーク制限 (ファイアウォールやプライベート リンクなど) が設定されています。 ビュー、マテリアライズドビュー、ストリーミングテーブルを共有する場合、データはプロバイダ側で一時的に実体化されます。 マテリアライゼーションの保存場所は、アセットの親スキーマまたはカタログの保存場所です。

推奨される修正 : データ プロバイダーは、ビューの依存テーブルの保存場所にアクセスするために、対応するリージョンのサーバーレス コンピュート IP をホワイトリストに登録する必要があります。 ファイアウォールを構成するには、 「ファイアウォールを使用してワークスペースのネットワーク送信を制限する」を参照してください。