次の方法で共有


Iceberg 形式のデータ品質ネイティブ サポート (プレビュー)

Apache Iceberg オープン テーブル形式に対する Microsoft Purview ネイティブ サポートはパブリック プレビュー段階です。 Microsoft Azure Data Lake Storage (ADLS) Gen2、Microsoft Fabric Lakehouse、Amazon Web Services (AWS) S3、および Google Cloud Platform (GCP) Google Cloud Storage (GCS) を使用している Microsoft Purview のお客様は、Microsoft Purview を使用して、Iceberg データ資産のデータ正常性管理とデータ品質評価をキュレーション、管理、実行できるようになりました。

Iceberg ファイル構造

Iceberg テーブルは、単なるデータ ファイルのコレクションだけではありません。 これには、テーブルの状態を追跡し、読み取り、書き込み、スキーマの進化などの操作を容易にするさまざまなメタデータ ファイルが含まれています。 Iceberg テーブルに関連する重要なコンポーネントの探索を次に示します。 Iceberg テーブル内のデータ ファイルは、通常、Apache Parquet、Apache Avro、Apache Optimized Row Columnar (ORC) などの列形式で格納されます。 これらのファイルには、ユーザーがクエリ中に操作する実際のデータが含まれています。

Iceberg ファイル構造の図。

Iceberg カタログ

上部には Iceberg カタログがあり、各テーブルの現在のメタデータ ポインターが格納されます。 このカタログでは、現在のメタデータ ファイルを参照することで、テーブルの最新の状態を追跡できます。

メタデータ レイヤー

メタデータ レイヤーは Iceberg の機能の中心であり、いくつかの重要な要素で構成されています。

  • メタデータ ファイル: このファイルには、テーブルのスキーマ、パーティション分割、スナップショットに関する情報が含まれています。 この図では、s0 はスナップショットを参照します。これは基本的に、特定の時点でのテーブルの状態のレコードです。 s0 や s1 などの複数のスナップショットが存在する場合、メタデータ ファイルは両方を追跡します。
  • マニフェストの一覧: このリストは、1 つ以上のマニフェスト ファイルを指します。 マニフェスト リストは、これらのマニフェストへの参照のコンテナーとして機能し、Iceberg がさまざまな操作中に読み取りまたは書き込む必要があるデータ ファイルを効率的に管理するのに役立ちます。 各スナップショットには、独自のマニフェスト リストが含まれます。

データ レイヤー

データ レイヤーでは、マニフェスト ファイルは、メタデータと実際のデータ ファイルの中間として機能します。 各マニフェスト ファイルは、データ ファイルのコレクションを指し示し、データ レイクに格納されている物理ファイルのマップを提供します。

  • マニフェスト ファイル: これらのファイルには、行数、パーティション情報、ファイル パスなど、データ ファイルのグループのメタデータが格納されます。 これにより、Iceberg は特定のファイルをすばやく排除してアクセスできるため、効率的なクエリが可能になります。
  • データ ファイル: 実際のデータは、Parquet、ORC、Avro などの形式である可能性があるこれらのファイルに存在します。 Iceberg は、パーティションに基づいてデータ ファイルを整理し、不要なデータ スキャンを最小限に抑えることで、クエリ実行中のパフォーマンスの最適化を可能にします。

連携のしくみ

クエリや更新などの操作が実行されると、Iceberg はまずカタログを介してテーブルのメタデータ ファイルを検索します。 メタデータ ファイルは、現在のスナップショット (または複数のスナップショット) を参照し、マニフェスト リストを指します。 マニフェスト リストには、マニフェスト ファイルへの参照が含まれています。このファイルには、個々のデータ ファイルが一覧表示されます。 この階層構造により、Iceberg はトランザクションの一貫性を確保しながら大規模なデータセットを効率的に管理し、タイム トラベルやスキーマの進化などの機能を実現できます。

この多層設計により、必要なデータ ファイルにのみアクセスし、データセット全体に影響を与えずにスナップショットを介して更新が管理されるため、バッチ操作とストリーミング操作のパフォーマンスとスケーラビリティが向上します。

OneLake の氷山データ

データ移動や重複なしで 、Microsoft Fabric 全体で Iceberg 形式のデータ をシームレスに使用できます。 OneLake ショートカットを使用して、データ レイヤーを直接指すことができます。

Iceberg データは OneLake に格納され、Snowflake または別の Iceberg ライターを使用して書き込まれます。 OneLake はテーブルを Delta Lake テーブルとして仮想化し、ファブリック エンジン全体で幅広い互換性を確保します。 たとえば、Snowflake にボリュームを作成し、それを Fabric Lakehouse に直接ポイントできます。 Fabric OneLake でテーブルが作成されると、自動同期によってデータ更新がリアルタイムで反映されるようになります。 この合理化されたプロセスにより、Microsoft Fabric での Iceberg データの操作が容易になります。 Snowflake のドキュメントから詳細を取得します。

重要

また、AWS S3 と GCS の Iceberg データは、データ品質をキュレーション、管理、および測定および監視するために、デルタとして自動同期する必要があります。

Iceberg データのデータ品質

ADLS Gen2 または Fabric Lakehouse 上の Iceberg (Parquet、ORC、Avro) のデータをネイティブにハイドレートするすべてのユーザーは、データとメタデータ Iceberg ディレクトリをホストするディレクトリの場所を指すスキャンを単に結び付ける必要があります。 次の手順に従います。

  1. Microsoft Purview データ マップでスキャンを構成して実行します。

  2. dir (ホスティング データとメタデータ) をデータ資産として構成し、それをデータ製品に関連付けます。 これにより、Iceberg データセットが形成されます。 Iceberg データ資産をMicrosoft Purview 統合カタログのデータ製品に関連付けます。 データ資産をデータ製品に関連付ける方法について説明します。

  3. 統合カタログで、[正常性管理] で [データ品質ビュー] を選択して Iceberg ファイル (データ資産) を検索し、データ ソース接続を設定します。

    3.1 AdlsG2 接続を設定するには、 DQ 接続に関するドキュメントで説明されている手順に従います

    3.2 Fabric OneLake 接続を設定するには、 ファブリック データ資産 DQ ドキュメントで説明されている手順に従います。

  4. データ品質ルールを適用し、列レベルとテーブルレベルのデータ品質スコアリングのデータ品質スキャンを実行します。

  5. 選択した Iceberg ファイル (データ資産) の [ スキーマ ] ページで、[ スキーマのインポート ] を選択して、Iceberg ファイルのデータ ソースからスキーマをインポートします。

  6. プロファイリング ジョブまたはデータ品質スキャン ジョブを実行する前に、Iceberg ファイルの [概要 ] ページに移動し、[ データ資産 ] ドロップダウン メニューで [ Iceberg] を選択します。

プロファイリングとデータ品質のスキャン

接続のセットアップとデータ資産ファイル形式の選択が完了したら、Iceberg オープンフォーマット ファイルでデータのプロファイル、作成、適用、データ品質スキャンを実行できます。 以下のドキュメントで説明されているステップバイステップのガイドラインに従ってください。

重要

  • カタログ検出、キュレーション、データ プロファイル、データ品質スキャン機能の Iceberg オープン形式のサポートが プレビュー段階になりました。
  • データ プロファイルとデータ品質評価の場合は、[データ品質スキーマ] ページからスキーマを取得して設定する必要があります。
  • コンシューマー検出エクスペリエンス: Data Map はまだ Iceberg オープン テーブル形式をサポートしていないため、コンシューマーはデータ資産ビューにスキーマを表示しません。 データ品質スチュワードは、データ品質スキーマ ページからスキーマをインポートできます。

制限事項

現在のリリースでは、 Apache Hadoop カタログのみを使用して Iceberg 形式で作成されたデータがサポートされています。

Lakehouse Path と ADLS Gen2 Path

  • Iceberg メタデータには、データとメタデータの完全なパスが格納されます。 ADLS Gen2 と Microsoft Fabric Lakehouse の完全なパスを使用してください。 さらに、書き込み中の Microsoft Fabric Lakehouse パスの場合は、ID パスで動作 (WRITES、UPSERTS) を確認します。 abfss://c4dd39bb-77e2-43d3-af10-712845dc2179@onelake.dfs.fabric.microsoft.com/5e8ea953-56fc-49c1-bc8c-0b3498cf1a9c/Files/CustomerData.
  • Id としてのファイルシステムと Id としての Lakehouse。Microsoft Purview が Iceberg で DQ を実行するには、相対パスではなく絶対パスが必要です。 検証するには、完全な完全修飾名 (FQN) パスを指すようにスナップショット パスをチェックしてください。

スキーマ検出

  • Data Map には、Iceberg スキーマを検出できないという制限があります。 Fabric Lakehouse または ADLS Gen2 で Iceberg ディレクトリをキュレーションする場合、スキーマを確認することはできません。 ただし、DQ フェッチ スキーマは、キュレーションされた資産のスキーマをプルできます。

推奨事項

  1. ボリューム ストレージを ADLS Gen2、AWS S3、または GCP GCS として使用する ICEberg 形式の SNOWFLAKE カタログを使用している場合は、Microsoft Fabric OneLake Table ショートカットを使用し、DELTA テーブルとして DQ を実行します。 FYI: Parquet ファイル形式の Iceberg のみをサポートします。
  2. Hadoop カタログで Iceberg Format に ADLS を使用している場合は、ディレクトリを直接スキャンし、DQ の Iceberg 形式の既定として DQ エンジンを使用します。 FYI: Parquet、ORC、Avro ファイル形式で Iceberg をサポートします。
  3. Snowflake for Iceberg 形式を使用している場合は、VOLUME ストレージを Microsoft Fabric Lakehouse パスに直接ポイントし、OneLake Table を使用して DQ の Delta 互換バージョンを作成できます。 FYI: Parquet ファイル形式の Iceberg のみをサポートします。
  4. Hadoop カタログで Microsoft Fabric Lakehouse for Iceberg Format を使用している場合は、lakehouse ディレクトリを直接スキャンし、DQ の Iceberg 形式の既定として DQ エンジンを使用します。 FYI: Parquet、ORC、Avro ファイル形式で Iceberg をサポートします。

関連情報