Freigeben über


Native Unterstützung der Datenqualität für das Iceberg-Format (Vorschau)

Die native Microsoft Purview-Unterstützung für das Open Table-Format von Apache Iceberg befindet sich in der öffentlichen Vorschau. Microsoft Purview-Kunden, die Microsoft Azure Data Lake Storage (ADLS) Gen2, Microsoft Fabric Lakehouse, Amazon Web Services (AWS) S3 und Google Cloud Platform (GCP) Google Cloud Storage (GCS) verwenden, können jetzt Microsoft Purview zum Zusammenstellen, Steuern und Durchführen von Datenintegritätskontrollen und Datenqualitätsbewertungen für Iceberg-Datenressourcen verwenden.

Iceberg-Dateistruktur

Eine Iceberg-Tabelle ist mehr als nur eine Sammlung von Datendateien. Es enthält verschiedene Metadatendateien, die den Zustand der Tabelle nachverfolgen und Vorgänge wie Lese-, Schreib- und Schemaentwicklung erleichtern. Im Folgenden finden Sie eine Untersuchung der kritischen Komponenten, die an einer Iceberg-Tabelle beteiligt sind. Die Datendateien in einer Iceberg-Tabelle werden in der Regel in spaltenbasierten Formaten wie Apache Parquet, Apache Avro oder Apache Optimized Row Columnar (ORC) gespeichert. Diese Dateien enthalten die tatsächlichen Daten, mit denen Benutzer während Abfragen interagieren.

Diagramm der Iceberg-Dateistruktur.

Iceberg-Katalog

Oben befindet sich der Iceberg-Katalog, in dem der aktuelle Metadatenzeiger für jede Tabelle gespeichert wird. Dieser Katalog ermöglicht die Nachverfolgung des letzten Zustands einer Tabelle durch Verweisen auf die aktuelle Metadatendatei.

Metadatenebene

Die Metadatenebene ist von zentraler Bedeutung für die Funktionalität von Iceberg und besteht aus mehreren Schlüsselelementen:

  • Metadatendatei: Diese Datei enthält Informationen zum Schema, zur Partitionierung und zu Momentaufnahmen der Tabelle. Im Diagramm bezieht sich s0 auf eine Momentaufnahme, bei der es sich im Wesentlichen um einen Datensatz des Zustands der Tabelle zu einem bestimmten Zeitpunkt handelt. Wenn mehrere Momentaufnahmen vorhanden sind, z. B. s0 und s1, verfolgt die Metadatendatei beides nach.
  • Manifestliste: Diese Liste verweist auf eine oder mehrere Manifestdateien. Eine Manifestliste fungiert als Container mit Verweisen auf diese Manifeste und hilft Iceberg dabei, effizient zu verwalten, welche Datendateien während verschiedener Vorgänge gelesen oder geschrieben werden sollen. Jede Momentaufnahme kann über eine eigene Manifestliste verfügen.

Datenebene

Auf der Datenebene fungieren die Manifestdateien als Vermittler zwischen den Metadaten und den eigentlichen Datendateien. Jede Manifestdatei verweist auf eine Sammlung von Datendateien und stellt eine Zuordnung der physischen Dateien bereit, die im Data Lake gespeichert sind.

  • Manifestdateien: Diese Dateien speichern die Metadaten für eine Gruppe von Datendateien, einschließlich Zeilenanzahl, Partitionsinformationen und Dateipfade. Sie ermöglichen Es Iceberg, bestimmte Dateien schnell zu löschen und darauf zuzugreifen, was eine effiziente Abfrage ermöglicht.
  • Datendateien: Die tatsächlichen Daten befinden sich in diesen Dateien, die sich in Formaten wie Parquet, ORC oder Avro befinden können. Iceberg organisiert Datendateien basierend auf Partitionen und ermöglicht Leistungsoptimierungen während der Abfrageausführung, indem unnötige Datenscans minimiert werden.

Wie es zusammen funktioniert

Wenn ein Vorgang wie eine Abfrage oder ein Update ausgeführt wird, sucht Iceberg zuerst die Metadatendatei der Tabelle über den Katalog. Die Metadatendatei verweist auf die aktuelle Momentaufnahme (oder mehrere Momentaufnahmen), die dann auf die Manifestliste verweist. Die Manifestliste enthält Verweise auf die Manifestdateien, die wiederum die einzelnen Datendateien auflisten. Diese hierarchische Struktur ermöglicht es Iceberg, große Datasets effizient zu verwalten und gleichzeitig Transaktionskonsistenz zu gewährleisten und Features wie Zeitreise und Schemaentwicklung zu ermöglichen.

Dieser mehrschichtige Entwurf verbessert die Leistung und Skalierbarkeit von Batch- und Streamingvorgängen, da nur auf die erforderlichen Datendateien zugegriffen wird und Updates über Momentaufnahmen verwaltet werden, ohne das gesamte Dataset zu beeinträchtigen.

Eisbergdaten in OneLake

Sie können Iceberg-formatierte Daten nahtlos in Microsoft Fabric ohne Datenverschiebung oder Duplizierung nutzen. Sie können OneLake-Tastenkombinationen verwenden, um direkt auf eine Datenebene zu verweisen.

Iceberg-Daten werden in OneLake gespeichert und mit Snowflake oder einem anderen Iceberg Writer geschrieben. OneLake virtualisiert die Tabelle als Delta Lake-Tabelle und stellt so eine breite Kompatibilität zwischen Fabric-Engines sicher. Beispielsweise können Sie ein Volume in Snowflake erstellen und direkt auf fabric Lakehouse verweisen. Nachdem die Tabelle in Fabric OneLake erstellt wurde, stellt die automatische Synchronisierung sicher, dass alle Datenaktualisierungen in Echtzeit widerspiegelt werden. Dieser optimierte Prozess erleichtert die Arbeit mit Iceberg-Daten in Microsoft Fabric. Weitere Informationen finden Sie in der Snowflake-Dokumentation.

Wichtig

Iceberg-Daten in AWS S3 und GCS müssen auch automatisch als Delta synchronisiert werden, um die Datenqualität zu kuratieren, zu steuern und zu messen und zu überwachen.

Datenqualität für Iceberg-Daten

Für alle Benutzer, die Daten in Iceberg auf (Parquet, ORC, Avro) auf ADLS Gen2 oder Fabric Lakehouse nativ aktivieren, muss einfach eine Überprüfung auf den Speicherort des Verzeichnisses, in dem die Iceberg-Verzeichnisse für Daten und Metadaten gehostet werden, verwendet werden. Führen Sie die unten aufgeführten Schritte aus:

  1. Konfigurieren und Ausführen einer Überprüfung in Microsoft Purview Data Map.

  2. Konfigurieren Sie das Verzeichnis (Hostdaten und Metadaten) als Datenressource, und ordnen Sie es dem Datenprodukt zu. Dies bildet das Iceberg-Dataset. Zuordnen von Iceberg-Datenressourcen zu einem Datenprodukt in Microsoft Purview Unified Catalog. Erfahren Sie , wie Sie Einem Datenprodukt Datenressourcen zuordnen.

  3. Wählen Sie in Unified Catalog unter Integritätsverwaltung die Option Datenqualitätsansicht aus, um Ihre Iceberg-Dateien (Datenasset) zu finden und eine Datenquellenverbindung einzurichten.

    3.1 Führen Sie zum Einrichten der AdlsG2-Verbindung die im Dokument DQ-Verbindung beschriebenen Schritte aus.

    3.2 Führen Sie zum Einrichten der Fabric OneLake-Verbindung die schritte aus, die im DQ-Dokument zur Fabric-Datenumgebung beschrieben sind.

  4. Wenden Sie Datenqualitätsregeln an, und führen Sie Datenqualitätsscans für die Datenqualitätsbewertung auf Spalten- und Tabellenebene durch.

  5. Wählen Sie auf der Seite Schema der ausgewählten Iceberg-Datei (Datenasset) schema importieren aus, um das Schema aus der Datenquelle der Iceberg-Datei zu importieren.

  6. Bevor Sie den Profilerstellungsauftrag oder den Auftrag zur Überprüfung der Datenqualität ausführen, wechseln Sie zur Seite Übersicht der Iceberg-Datei, und wählen Sie im Dropdownmenü Datenobjektdie Option Iceberg aus.

Profilerstellung und Datenqualitätsüberprüfung

Nachdem Sie die Verbindungseinrichtung und die Auswahl des Dateiformats für datenassetobjekte abgeschlossen haben, können Sie ein Profil erstellen, Regeln erstellen und anwenden und eine Datenqualitätsüberprüfung Ihrer Daten in Iceberg-Dateien im offenen Format ausführen. Befolgen Sie die schritt-für-Schritt-Anleitung, die in den folgenden Dokumenten beschrieben wird:

Wichtig

  • Die Unterstützung für das offene Iceberg-Format für die Katalogermittlung, Zusammenstellung, Datenprofilerstellung und Datenqualitätsüberprüfung befindet sich jetzt in der Vorschauphase.
  • Für die Datenprofilerstellung und die Bewertung der Datenqualität müssen Sie das Schema von der Seite Data Quality Schema abrufen und festlegen.
  • Consumerermittlungserfahrung: Consumern wird das Schema in der Datenobjektansicht nicht angezeigt, da data Map das offene Iceberg-Tabellenformat noch nicht unterstützt. Data Quality Steward kann das Schema von der Data Quality-Schemaseite importieren.

Begrenzungen

Die aktuelle Version unterstützt nur Daten, die im Iceberg-Format mit dem Apache Hadoop-Katalog erstellt wurden.

Lakehouse-Pfad und ADLS Gen2-Pfad

  • Iceberg Metadata speichert den vollständigen Pfad für die Daten und Metadaten. Stellen Sie sicher, dass Sie den vollständigen Pfad für ADLS Gen2 und Microsoft Fabric Lakehouse verwenden. Stellen Sie außerdem für den Microsoft Fabric Lakehouse-Pfad während des Schreibvorgangs den Betrieb (WRITES, UPSERTS) mit den ID-Pfaden sicher. abfss://c4dd39bb-77e2-43d3-af10-712845dc2179@onelake.dfs.fabric.microsoft.com/5e8ea953-56fc-49c1-bc8c-0b3498cf1a9c/Files/CustomerData.
  • Dateisystem als ID und Lakehouse als Id. Absolute und keine relativen Pfade sind erforderlich, damit Microsoft Purview DQ auf Iceberg ausführen kann. Überprüfen Sie zur Überprüfung den Pfad der Momentaufnahmen so, dass er als vollständige FQN-Pfade (Fully Qualified Name) verweist.

Schemaerkennung

  • Data Map hat eine Einschränkung, dass das Iceberg-Schema nicht erkannt werden kann. Beim Zusammenstellen der Iceberg-Verzeichnisse in Fabric Lakehouse oder ADLS Gen2 können Sie das Schema nicht überprüfen. Das DQ-Abrufschema kann jedoch das Schema für das kuratierte Objekt abrufen.

Empfehlungen

  1. Wenn Sie SNOWFLAKE Catalog for Iceberg Format mit VOLUME-Speicher als ADLS Gen2, AWS S3 oder GCP GCS verwenden, verwenden Sie microsoft Fabric OneLake Table shortcut und führen DQ als DELTA-Tabelle aus. FYI: Unterstützt nur Iceberg mit parquet-Dateiformat.
  2. Wenn Sie ADLS for Iceberg Format mit dem Hadoop-Katalog verwenden, überprüfen Sie das Verzeichnis direkt. Verwenden Sie die DQ-Engine als Standardeinstellung für das Iceberg-Format für DQ. FYI: Unterstützt Iceberg im Parquet-, ORC- und Avro-Dateiformat.
  3. Wenn Sie das Snowflake for Iceberg-Format verwenden, können Sie den VOLUME-Speicher direkt auf den Microsoft Fabric Lakehouse-Pfad verweisen und dann oneLake Table verwenden, um eine Delta-kompatible Version für DQ zu erstellen. FYI: Unterstützt nur Iceberg mit parquet-Dateiformat.
  4. Wenn Sie Microsoft Fabric Lakehouse for Iceberg Format mit dem Hadoop-Katalog verwenden, scannen Sie das Lakehouse-Verzeichnis direkt, und verwenden Sie die DQ-Engine als Standard für das Iceberg-Format für DQ. FYI: Unterstützt Iceberg im Parquet-, ORC- und Avro-Dateiformat.

Verweise