Maison > Périphériques technologiques > IA > Comment utiliser les tables d'iceberg Apache?

Comment utiliser les tables d'iceberg Apache?

William Shakespeare
Libérer: 2025-03-20 15:28:09
original
197 Les gens l'ont consulté

Apache Iceberg: un format de table moderne pour une gestion de lac de données améliorée

Apache Iceberg est un format de table de pointe conçu pour répondre aux lacunes des tables de ruche traditionnelles, offrant des performances supérieures, la cohérence des données et l'évolutivité. Cet article explore l'évolution d'Iceberg, les caractéristiques clés (transactions acides, l'évolution du schéma, le voyage dans le temps), l'architecture et les comparaisons avec d'autres formats de table comme Delta Lake et Parquet. Nous examinerons également son intégration avec les lacs de données modernes et son impact sur la gestion des données et l'analyse à grande échelle.

Points d'apprentissage clés

  • Saisissez les caractéristiques de base et l'architecture d'Apache iceberg.
  • Comprendre comment iceberg facilite l'évolution du schéma et de la partition sans réécriture de données.
  • Explorez comment les transactions acides et les voyages dans le temps renforcent la cohérence des données.
  • Comparez les capacités d'Iceberg contre Delta Lake et Hudi.
  • Identifiez les scénarios où iceberg optimise les performances du lac Data.

Table des matières

  • Introduction à Apache iceberg
  • L'évolution de l'iceberg
  • Comprendre le format iceberg
  • Caractéristiques de base d'Apache iceberg
  • Plongée profonde dans l'architecture d'iceberg
  • Iceberg vs d'autres formats de table: une comparaison
  • Conclusion
  • Questions fréquemment posées

Introduction à Apache iceberg

Originaire à Netflix en 2017 (l'idée originale de Ryan Blue et Daniel Weeks), Apache Iceberg a été créée pour résoudre les goulots d'étranglement des performances, des problèmes de cohérence et des limitations inhérentes au format de la table Hive. Open-Open et donnée à l'Apache Software Foundation en 2018, il a rapidement gagné du terrain, attirant les contributions de géants de l'industrie comme Apple, AWS et LinkedIn.

Comment utiliser les tables d'iceberg Apache?

L'évolution d'Apache iceberg

L'expérience de Netflix a mis en évidence une faiblesse critique de Hive: sa dépendance à l'égard des répertoires pour le suivi de la table. Cette approche manquait de granularité nécessaire pour une cohérence robuste, une concurrence efficace et les fonctionnalités avancées attendues dans les entrepôts de données modernes. Le développement d'Iceberg visait à surmonter ces limites en mettant l'accent sur:

Objectifs de conception clés

  • Cohérence des données: les mises à jour sur plusieurs partitions doivent être atomiques et transparentes, empêchant les utilisateurs de voir des données incohérentes.
  • Optimisation des performances: la gestion efficace des métadonnées était primordiale pour éliminer les goulots d'étranglement de la planification des requêtes et accélérer l'exécution des requêtes.
  • Conviviale: le partitionnement doit être transparent aux utilisateurs, permettant une optimisation automatique des requêtes sans intervention manuelle.
  • Adaptabilité du schéma: les modifications du schéma doivent être gérées en toute sécurité, sans nécessiter des réécritures complètes de l'ensemble de données.
  • Évolutivité: La solution devait gérer efficacement les pétaoctets de données, reflétant l'échelle de Netflix.

Comprendre le format iceberg

Iceberg relève ces défis en suivant les tables en tant que liste structurée de fichiers, et non des répertoires. Il fournit un format standardisé définissant la structure des métadonnées sur plusieurs fichiers et propose des bibliothèques pour une intégration transparente avec des moteurs populaires comme Spark et Flink.

Un standard de lacs de données

La conception d'Iceberg priorise la compatibilité avec les moteurs de stockage et de calcul existants, favorisant une large adoption sans changements significatifs. L'objectif est d'établir l'iceberg en tant que norme de l'industrie, permettant aux utilisateurs d'interagir avec les tables indépendamment du format sous-jacent. De nombreux outils de données offrent désormais un support d'iceberg natif.

Caractéristiques de base d'Apache iceberg

Iceberg transcende simplement les limites de Hive; Il introduit de puissantes capacités améliorant les charges de travail Data Lake et Data Lakehouse. Les caractéristiques clés comprennent:

Garanties transactionnelles acides

Iceberg utilise un contrôle de concurrence optimiste pour assurer les propriétés acides, garantissant que les transactions sont entièrement engagées ou complètement enroulées. Cela minimise les conflits tout en maintenant l'intégrité des données.

Évolution de partition

Contrairement aux lacs de données traditionnels, Iceberg permet de modifier les schémas de partitionnement sans réécrire l'ensemble du tableau. Cela garantit une optimisation efficace des requêtes sans perturber les données existantes.

Comment utiliser les tables d'iceberg Apache?

Partitionnement caché

Iceberg optimise automatiquement les requêtes en fonction de la partition, éliminant la nécessité pour les utilisateurs de filtrer manuellement par colonnes de partition.

Comment utiliser les tables d'iceberg Apache?

Opérations au niveau des lignes (Copy-on-Write & Merge-on Read)

Iceberg prend en charge les stratégies de copie-écriture (vache) et de fusion sur la lecture (MOR) pour des mises à jour efficaces au niveau des lignes.

Voyage dans le temps et recul de la version

Les instantanés immuables d'Iceberg permettent des requêtes de voyage dans le temps et la capacité de revenir aux états de table précédents.

Comment utiliser les tables d'iceberg Apache?Comment utiliser les tables d'iceberg Apache?

Évolution du schéma

Iceberg prend en charge les modifications du schéma (ajoutant, supprimant ou modifiant les colonnes) sans réécriture de données, assurant la flexibilité et la compatibilité.

Plongée profonde dans l'architecture d'iceberg

Cette section explore l'architecture d'Iceberg et comment elle surmonte les limites de Hive.

Comment utiliser les tables d'iceberg Apache?

La couche de données

La couche de données stocke les données de table réelles (fichiers de données et supprimer des fichiers). Il est hébergé sur les systèmes de fichiers distribués (HDFS, S3, etc.) et prend en charge plusieurs formats de fichiers (Parquet, Orc, Avro). Le parquet est généralement préféré pour son stockage en colonnes.

Comment utiliser les tables d'iceberg Apache?Comment utiliser les tables d'iceberg Apache?Comment utiliser les tables d'iceberg Apache?

La couche de métadonnées

Cette couche gère tous les fichiers de métadonnées dans une structure d'arborescence, suivant les fichiers de données et les opérations. Les composants clés incluent des fichiers manifestes, des listes manifestes et des fichiers de métadonnées. Les fichiers Puffin stockent des statistiques avancées et des index pour l'optimisation des requêtes.

Le catalogue

Le catalogue agit comme un registre central, fournissant l'emplacement du fichier de métadonnées actuel pour chaque table, garantissant un accès cohérent pour tous les lecteurs et écrivains. Divers backends peuvent servir de catalogues iceberg (catalogue Hadoop, Metastore Hive, catalogue Nessie, catalogue AWS Glue).

Iceberg vs d'autres formats de table: une comparaison

Iceberg, Parquet, Orc et Delta Lake sont fréquemment utilisés dans le traitement des données à grande échelle. Iceberg se distingue comme un format de table offrant des garanties transactionnelles et des optimisations de métadonnées, contrairement à Parquet et Orc qui sont des formats de fichiers. Comparé au lac Delta, Iceberg excelle dans le schéma et l'évolution de la partition.

Conclusion

Apache Iceberg propose une approche robuste, évolutive et conviviale de la gestion des lacs de données. Ses fonctionnalités en font une solution convaincante pour les organisations qui gèrent les données à grande échelle.

Questions fréquemment posées

Q1. Qu'est-ce qu'Apache iceberg? A. Un format de table open-source moderne améliorant les performances, la cohérence et l'évolutivité du lac.

Q2. Pourquoi Apache Iceberg est-il nécessaire? A. pour surmonter les limites de Hive dans la gestion des métadonnées et les capacités transactionnelles.

Q3. Comment iceberg gère-t-il l'évolution du schéma? A. Il prend en charge les changements de schéma sans nécessiter de réécritures de table complètes.

Q4. Qu'est-ce que l'évolution de la partition dans Iceberg? A. Modification des schémas de partitionnement sans réécrire des données historiques.

Q5. Comment iceberg prend-il en charge les transactions acides? A. grâce à un contrôle optimiste de la concurrence, en assurant des mises à jour atomiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal