サーバーレス SQL プールで Apache Spark for Azure Synapse の外部テーブル定義を同期する

サーバーレス SQL プールにより、Apache Spark からメタデータを自動的に同期することができます。 サーバーレス Apache Spark プール内にあるデータベースごとに、サーバーレス SQL プール データベースが作成されます。

Parquet または CSV に基づく、Azure Storage に配置された各 Spark 外部テーブルに対して、サーバーレス SQL プール データベースに外部テーブルが作成されます。 そのため、Spark プールをシャットダウンしても、サーバーレス SQL プールから Spark 外部テーブルに対するクエリを引き続き実行できます。

テーブルが Spark でパーティション分割されている場合、ストレージ内のファイルはフォルダーごとに整理されます。 サーバーレス SQL プールでは、パーティション メタデータが使用され、クエリに関連するフォルダーとファイルのみが対象になります。

メタデータの同期は、Azure Synapse ワークスペースにプロビジョニングされた各サーバーレス Apache Spark プールに対して自動的に構成されます。 Spark 外部テーブルに対するクエリをすぐに開始できます。

Spark の Azure Storage に配置された各 Parquet または CSV 外部テーブルは、サーバーレス SQL プール データベースに対応する dbo スキーマの外部テーブルで表されます。

Spark 外部テーブルのクエリの場合は、外部 [spark_table] を対象とするクエリを実行します。 次の例を実行する前に、ファイルが配置されているストレージ アカウントへの適切なアクセス許可を持っていることを確認してください。

SELECT * FROM [db].dbo.[spark_table]

Apache Spark データ型から SQL データ型へのマッピング

Apache Spark データ型から SQL データ型へのマッピングの詳細については、「Azure Synapse Analytics の共有メタデータ テーブル」を参照してください。

次のステップ

ストレージ アクセス制御の詳細については、ストレージ アクセス制御に関する記事をご覧ください。