Apache ICEBERG: Ein modernes Tabellenformat für das erweiterte Data Lake Management
Apache Iceberg ist ein hochmodernes Tabellenformat, das die Mängel herkömmlicher Bienenstocktabellen angeht und überlegene Leistung, Datenkonsistenz und Skalierbarkeit liefert. In diesem Artikel wird die Entwicklung von Iceberg, die wichtigsten Merkmale (Säuretransaktionen, Schemaentwicklung, Zeitreisen), Architektur und Vergleiche mit anderen Tabellenformaten wie Delta Lake und Parquet untersucht. Wir werden auch seine Integration in moderne Datenseen und ihre Auswirkungen auf das große Datenmanagement und die Analyse des Datenverwaltungswesens untersuchen.
Apache Iceberg wurde 2017 (die Idee von Ryan Blue und Daniel Weeks) auf Netflix (die Idee von Ryan Blue und Daniel Weeks) erstellt und wurde erstellt, um Leistungsengpässe, Konsistenzprobleme und Einschränkungen des Hive -Tabellenformats zu lösen. Open-Sourced und spendete 2018 an die Apache Software Foundation und erlangte schnell an die Anziehung und lieferte Beiträge von Branchengiganten wie Apple, AWS und LinkedIn.
Die Erfahrung von Netflix zeigte eine kritische Schwäche im Bienenstock: seine Abhängigkeit von Verzeichnissen für die Tischverfolgung. Dieser Ansatz fehlte die Granularität, die für eine robuste Konsistenz, effiziente Parallelität und die erwarteten fortschrittlichen Merkmale in modernen Data Warehouses erforderlich war. Die Entwicklung von Iceberg zielte darauf ab, diese Einschränkungen zu überwinden, mit einem Fokus auf:
Iceberg befasst sich mit diesen Herausforderungen, indem sie Tabellen als strukturierte Liste von Dateien und nicht als Verzeichnis verfolgen. Es bietet ein standardisiertes Format, das Metadatenstruktur für mehrere Dateien definiert und Bibliotheken für eine nahtlose Integration in beliebte Motoren wie Spark und Flink bietet.
Das Design von Iceberg Prioritiert die Kompatibilität mit vorhandenen Speicher- und Berechnung von Motoren und fördert eine breite Akzeptanz ohne wesentliche Änderungen. Ziel ist es, Eisberg als Branchenstandard zu etablieren, sodass Benutzer unabhängig vom zugrunde liegenden Format mit Tabellen interagieren können. Viele Datenwerkzeuge bieten jetzt native Eisberg -Unterstützung.
Iceberg übertrifft einfach die Grenzen von Hive. Es führt leistungsstarke Funktionen für die Verbesserung des Datenloads von Data Lake und Data Lakehouse. Zu den wichtigsten Funktionen gehören:
Iceberg verwendet eine optimistische Parallelitätskontrolle, um die Säureeigenschaften sicherzustellen, und garantiert, dass Transaktionen entweder vollständig engagiert oder vollständig zurückgerollt sind. Dies minimiert Konflikte bei der Aufrechterhaltung der Datenintegrität.
Im Gegensatz zu herkömmlichen Datenseen ermöglicht Iceberg die Änderung der Partitionierungsschemata, ohne die gesamte Tabelle neu zu schreiben. Dies gewährleistet eine effiziente Abfrageoptimierung, ohne vorhandene Daten zu stören.
Iceberg optimiert automatisch Abfragen, die auf der Partitionierung basieren, und beseitigt die Notwendigkeit, dass Benutzer manuell durch Partitionsspalten filtern.
Iceberg unterstützt sowohl Kopien-auf-Schrei- als auch MORGE-On-Read-Strategien für effiziente Updates auf Zeilenebene.
Die unveränderlichen Schnappschüsse von Iceberg ermöglichen Zeitreisefragen und die Möglichkeit, in frühere Tischzustände zurückzukehren.
Iceberg unterstützt Schema -Modifikationen (Hinzufügen, Entfernen oder Ändern von Spalten), ohne dass Daten umschreiben, um Flexibilität und Kompatibilität zu gewährleisten.
In diesem Abschnitt werden die Architektur von Iceberg und wie sie die Grenzen von Hive überwindet.
Die Datenschicht speichert die tatsächlichen Tabellendaten (Datendateien und Löschen von Dateien). Es wird in verteilten Dateisystemen (HDFs, S3 usw.) gehostet und unterstützt mehrere Dateiformate (Parquet, ORC, AVRO). Parquet wird üblicherweise für seine Säulenspeicherung bevorzugt.
Diese Ebene verwaltet alle Metadatendateien in einer Baumstruktur und verfolgt Datendateien und Operationen. Zu den Schlüsselkomponenten gehören Manifestdateien, Manifest -Listen und Metadatendateien. Puffin -Dateien speichern erweiterte Statistiken und Indizes für die Abfrageoptimierung.
Der Katalog fungiert als zentrales Register und bietet den Standort der aktuellen Metadatendatei für jede Tabelle an, um alle Leser und Autoren konsistenten Zugriff zu gewährleisten. Verschiedene Backends können als Eisberg -Katalog (Hadoop -Katalog, Hive -Metastore, Nessie -Katalog, AWS -Kleberkatalog) dienen.
Iceberg, Parquet, Orc und Delta Lake werden häufig in der Datenverarbeitung in großem Maßstab verwendet. Iceberg unterscheidet sich als Tabellenformat, das Transaktionsgarantien und Metadatenoptimierungen bietet, im Gegensatz zu Parquet und ORC, die Dateiformate sind. Im Vergleich zu Delta Lake zeichnet sich Iceberg in Schema und Partitionentwicklung aus.
Apache Iceberg bietet einen robusten, skalierbaren und benutzerfreundlichen Ansatz für das Data Lake-Management. Seine Funktionen machen es zu einer überzeugenden Lösung für Organisationen, die mit groß angelegten Daten umgehen.
Q1. Was ist Apache Iceberg? A. Ein modernes Open-Source-Tabellenformat verbessert die Leistung, Konsistenz und Skalierbarkeit von Datensee.
Q2. Warum wird Apache Iceberg benötigt? A. um die Einschränkungen von Hive bei Metadatenhandhabung und Transaktionsfunktionen zu überwinden.
Q3. Wie geht Eisberg mit der Schema -Evolution um? A. Es unterstützt Schemaänderungen, ohne dass eine vollständige Tischumschreibung erforderlich ist.
Q4. Was ist die Partitionentwicklung in Eisberg? A. Änderung von Partitionierungsschemata ohne Umschreiben historischer Daten.
Q5. Wie unterstützt Eisberg Säuretransaktionen? A. durch optimistische Parallelitätskontrolle, um Atomaktualisierungen zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie benutze ich Apache -Eisberg -Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!