Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Moderne Data Lakes
Fortgeschrittene Anwendungsfälle in modernen Data Lakes
Data Lakes bieten eine der besten Optionen für die Speicherung von Daten in Bezug auf Kosten, Skalierbarkeit und Flexibilität. Sie können einen Data Lake verwenden, um große Mengen strukturierter und unstrukturierter Daten kostengünstig zu speichern und diese Daten für verschiedene Arten von Analytics-Workloads zu verwenden, von Business Intelligence-Berichten über Big-Data-Verarbeitung, Echtzeitanalysen, maschinelles Lernen und generative künstliche Intelligenz (KI), um bessere Entscheidungen zu treffen.
Trotz dieser Vorteile wurden Data Lakes ursprünglich nicht mit datenbankähnlichen Funktionen konzipiert. Ein Data Lake bietet keine Unterstützung für die Verarbeitungssemantik Atomicity, Consistency, Isolation, Durability (ACID), die Sie möglicherweise benötigen, um Ihre Daten mithilfe einer Vielzahl verschiedener Technologien effektiv zu optimieren und zu verwalten, und zwar in großem Umfang für Hunderte oder Tausende von Benutzern. Data Lakes bieten keine native Unterstützung für die folgenden Funktionen:
-
Durchführung effizienter Aktualisierungen und Löschungen auf Datensatzebene, wenn sich Daten in Ihrem Unternehmen ändern
-
Verwaltung der Abfrageleistung, wenn Tabellen auf Millionen von Dateien und Hunderttausende von Partitionen anwachsen
-
Sicherstellung der Datenkonsistenz bei mehreren gleichzeitigen Schreib- und Lesegeräten
-
Verhinderung von Datenbeschädigungen, wenn Schreibvorgänge während des Vorgangs fehlschlagen
-
Weiterentwicklung von Tabellenschemas im Laufe der Zeit, ohne Datensätze (teilweise) neu zu schreiben
Diese Herausforderungen haben sich in Anwendungsfällen wie der Handhabung von Change Data Capture (CDC) oder in Anwendungsfällen, die den Datenschutz, das Löschen von Daten und die Aufnahme von Streaming-Daten betreffen, besonders ausgeprägt, was zu suboptimalen Tabellen führen kann.
Data Lakes, die traditionelle Tabellen im HIVE-Format verwenden, unterstützen Schreibvorgänge nur für ganze Dateien. Dies macht die Implementierung von Aktualisierungen und Löschungen schwierig, zeitaufwändig und kostspielig. Darüber hinaus sind Parallelitätskontrollen und -garantien erforderlich, die in ACID-konformen Systemen angeboten werden, um die Integrität und Konsistenz der Daten zu gewährleisten.
Um diese Herausforderungen zu bewältigen, bietet Apache Iceberg zusätzliche datenbankähnliche Funktionen, die den Optimierungs- und Verwaltungsaufwand von Data Lakes vereinfachen und gleichzeitig die Speicherung auf kostengünstigen Systemen wie Amazon Simple Storage Service (Amazon
Einführung in Apache Iceberg
Apache Iceberg ist ein Open-Source-Tabellenformat, das Funktionen in Data-Lake-Tabellen bereitstellt, die in der Vergangenheit nur in Datenbanken oder Data Warehouses verfügbar waren. Es ist auf Skalierbarkeit und Leistung ausgelegt und eignet sich hervorragend für die Verwaltung von Tabellen mit einer Größe von mehr als Hunderten von Gigabyte. Einige der Hauptmerkmale von Iceberg-Tabellen sind:
-
Löschen, aktualisieren und zusammenführen.Iceberg unterstützt Standard-SQL-Befehle für Data Warehousing zur Verwendung mit Data-Lake-Tabellen.
-
Schnelle Scanplanung und erweiterte Filterung. Iceberg speichert Metadaten wie Statistiken auf Partitions- und Spaltenebene, die von Engines verwendet werden können, um die Planung und Ausführung von Abfragen zu beschleunigen.
-
Vollständige Entwicklung des Schemas. Iceberg unterstützt das Hinzufügen, Löschen, Aktualisieren oder Umbenennen von Spalten ohne Nebenwirkungen.
-
Entwicklung der Partition. Sie können das Partitionslayout einer Tabelle aktualisieren, wenn sich das Datenvolumen oder die Abfragemuster ändern. Iceberg unterstützt das Ändern der Spalten, auf die eine Tabelle partitioniert ist, oder das Hinzufügen von Spalten zu oder das Entfernen von Spalten aus zusammengesetzten Partitionen.
-
Versteckte Partitionierung.Diese Funktion verhindert, dass unnötige Partitionen automatisch gelesen werden. Dadurch müssen Benutzer die Partitionierungsdetails der Tabelle nicht verstehen oder ihren Abfragen zusätzliche Filter hinzufügen.
-
Rollback der Version. Benutzer können Probleme schnell korrigieren, indem sie zu einem Zustand vor der Transaktion zurückkehren.
-
Zeitreise. Benutzer können eine bestimmte frühere Version einer Tabelle abfragen.
-
Serialisierbare Isolierung. Tabellenänderungen sind atomar, sodass Leser keine teilweisen oder nicht festgeschriebenen Änderungen sehen.
-
Gleichzeitige Autoren. Iceberg verwendet optimistische Parallelität, um den Erfolg mehrerer Transaktionen zu ermöglichen. Im Falle von Konflikten muss einer der Autoren die Transaktion erneut versuchen.
-
Öffnen Sie Dateiformate. Iceberg unterstützt mehrere Open-Source-Dateiformate, darunter Apache Parquet, Apache
Avro und Apache ORC.
Zusammenfassend lässt sich sagen, dass Data Lakes, die das Iceberg-Format verwenden, von Transaktionskonsistenz, Geschwindigkeit, Skalierbarkeit und Schemaentwicklung profitieren. Weitere Informationen zu diesen und anderen Iceberg-Funktionen finden Sie in der Apache Iceberg-Dokumentation.
AWS Unterstützung für Apache Iceberg
Apache Iceberg wird von beliebten Open-Source-Datenverarbeitungs-Frameworks AWS-Services wie Amazon EMR, Amazon
Im Folgenden finden Sie native AWS-Services Iceberg-Integrationen. Es gibt weitere AWS-Services , die entweder indirekt oder durch Paketierung der Iceberg-Bibliotheken mit Iceberg interagieren können.
-
Amazon S3 ist aufgrund seiner Beständigkeit, Verfügbarkeit, Skalierbarkeit, Sicherheit, Compliance und Auditfunktionen der beste Ort für den Aufbau von Data Lakes. Iceberg wurde für die nahtlose Interaktion mit Amazon S3 konzipiert und entwickelt und bietet Unterstützung für viele Amazon S3 S3-Funktionen, die in der Iceberg-Dokumentation
aufgeführt sind. -
Amazon EMR ist eine Big-Data-Lösung für Datenverarbeitung im Petabyte-Bereich, interaktive Analysen und maschinelles Lernen unter Verwendung von Open-Source-Frameworks wie Apache Spark, Flink, Trino und Hive. Amazon EMR kann auf benutzerdefinierten Amazon Elastic Compute Cloud (Amazon EC2) -Clustern, Amazon Elastic Kubernetes Service (Amazon EKS) oder Amazon EMR Serverless AWS Outposts ausgeführt werden.
-
Amazon Athena ist ein serverloser, interaktiver Analysedienst, der auf Open-Source-Frameworks basiert. Er unterstützt Open-Table- und Dateiformate und bietet eine vereinfachte, flexible Möglichkeit, Petabyte an Daten dort zu analysieren, wo sie sich befinden. Athena bietet native Unterstützung für Lese-, Zeitreise-, Schreib- und DDL-Abfragen für Iceberg und verwendet den Metastore AWS Glue Data Catalog for the Iceberg.
-
Amazon Redshift ist ein Cloud-Data Warehouse im Petabyte-Bereich, das sowohl clusterbasierte als auch serverlose Bereitstellungsoptionen unterstützt. Amazon Redshift Spectrum kann externe Tabellen abfragen, die bei Amazon S3 registriert AWS Glue Data Catalog und dort gespeichert sind. Redshift Spectrum unterstützt auch das Iceberg-Speicherformat.
-
AWS Glueist ein serverloser Datenintegrationsdienst, der es einfacher macht, Daten aus verschiedenen Quellen für Analysen, maschinelles Lernen (ML) und Anwendungsentwicklung zu finden, aufzubereiten, zu verschieben und zu integrieren. AWS Glue 3.0 und spätere Versionen unterstützen das Iceberg-Framework für Data Lakes. Sie können AWS Glue es verwenden, um Lese- und Schreibvorgänge an Iceberg-Tabellen in Amazon S3 durchzuführen oder mit Iceberg-Tabellen zu arbeiten, indem Sie den verwenden. AWS Glue Data Catalog Zusätzliche Operationen wie Einfügen, Aktualisieren, Spark-Abfragen und Spark-Schreibvorgänge werden ebenfalls unterstützt.
-
AWS Glue Data Catalogbietet einen mit Hive-Metastores kompatiblen Datenkatalogdienst, der Iceberg-Tabellen unterstützt.
-
AWS-Glue-Crawlerbietet Automatisierungen zur Registrierung von Iceberg-Tabellen in der. AWS Glue Data Catalog
-
Amazon SageMaker unterstützt die Speicherung von Feature-Sets im Amazon SageMaker Feature Store mithilfe des Iceberg-Formats.
-
AWS Lake Formationbietet grobe und detaillierte Zugriffsberechtigungen für den Zugriff auf Daten, einschließlich Iceberg-Tabellen, die von Athena oder Amazon Redshift verwendet werden. Weitere Informationen zur Unterstützung von Berechtigungen für Iceberg-Tabellen finden Sie in der Dokumentation zu Lake Formation.
AWS bietet eine breite Palette von Diensten, die Iceberg unterstützen, aber das Abdecken all dieser Dienste würde den Rahmen dieses Leitfadens sprengen. In den folgenden Abschnitten wird Spark (Batch- und strukturiertes Streaming) auf Amazon EMR und AWS Glue Amazon Athena SQL behandelt. Der folgende Abschnitt bietet einen kurzen Überblick über die Iceberg-Unterstützung in Athena SQL.