次の方法で共有


Azure Synapse Analytics の共有メタデータ

Azure Synapse Analytics を使用すると、さまざまなワークスペースコンピューティング エンジンで、Apache Spark プールとサーバーレス SQL プールの間でデータベースとテーブルを共有できます。

共有は、いわゆる最新のデータ ウェアハウス パターンをサポートし、ワークスペース SQL エンジンに Spark で作成されたデータベースとテーブルへのアクセスを提供します。 また、SQL エンジンは、他のエンジンと共有されていない独自のオブジェクトを作成することもできます。

Important

1,024 を超える列を含む Spark で作成されたテーブルはオブジェクト エクスプローラーに表示される場合がありますが、メタデータの同期が不完全なため、サーバーレス SQL プールからクエリを実行することはできません。

回避策: サーバーレス SQL プールからクエリを実行する必要がある場合は、1,024 列を超える Spark テーブルを作成しないでください。 スキーマを再設計し、テーブルを再作成します。

最新のデータ ウェアハウスをサポートする

共有メタデータ モデルでは、次の方法で最新のデータ ウェアハウス パターンがサポートされます。

  1. データ レイクからのデータは、準備されたデータを複数のデータベースに含まれる (パーティション分割されている可能性がある) Parquet でバックアップされたテーブルに格納することで、Spark を使用して効率的に準備および構造化されます。

  2. Spark によって作成されたデータベースとそのすべてのテーブルは、Azure Synapse ワークスペースの Spark プール インスタンスのいずれかに表示され、任意の Spark ジョブから使用できます。 ワークスペース内のすべての Spark プールが同じ基になるカタログ メタ ストアを共有するため、この機能には アクセス許可 が適用されます。

  3. Spark によって作成されたデータベースとその Parquet ベースまたは CSV ベースのテーブルは、ワークスペース のサーバーレス SQL プールに表示されます。 データベース はサーバーレス SQL プール メタデータに自動的に作成され、Spark ジョブによって作成された 外部テーブルとマネージド テーブル の両方に、対応するデータベースの dbo スキーマのサーバーレス SQL プール メタデータ内の外部テーブルとしてアクセスできるようになります。

オブジェクトの同期は非同期的に行われます。 オブジェクトが SQL コンテキストに表示されるまで、数秒のわずかな遅延が発生します。 表示されたら、クエリを実行できますが、アクセス権を持つ SQL エンジンによって更新または変更することはできません。

共有メタデータ オブジェクト

Spark では、データベース、外部テーブル、マネージド テーブル、およびビューを作成できます。 Spark ビューでは、定義する Spark SQL ステートメントを処理するために Spark エンジンが必要であり、SQL エンジンでは処理できないため、Parquet または CSV ストレージ形式を使用するデータベースとその包含外部テーブルとマネージド テーブルのみがワークスペース SQL エンジンと共有されます。 Spark ビューは、Spark プール インスタンス間でのみ共有されます。

セキュリティ モデルの概要

Spark データベースとテーブルは、SQL エンジン内の同期された表現と共に、基になるストレージ レベルでセキュリティ保護されます。 クエリの提出者が使用する権限を持ついずれかのエンジンによってテーブルが照会されると、クエリ送信者のセキュリティ プリンシパルが基になるファイルに渡されます。 ファイル システム レベルでアクセス許可がチェックされます。

詳細については、「 Azure Synapse Analytics 共有データベース」を参照してください。

メンテナンスを変更する

Spark でメタデータ オブジェクトが削除または変更されると、変更が取得され、サーバーレス SQL プールに反映されます。 同期は非同期であり、変更は少し遅れた後に SQL エンジンに反映されます。

次のステップ