Utilisation de tables Apache Iceberg avec Amazon Redshift - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de tables Apache Iceberg avec Amazon Redshift

Vous pouvez utiliser Redshift Spectrum ou Redshift sans serveur pour interroger des tables Apache Iceberg cataloguées dans le  AWS Glue Data Catalog. Apache Iceberg est un format de table open source pour les lacs de données. Pour en savoir plus, consultez Apache Iceberg dans la documentation Apache Iceberg.

Amazon Redshift assure une cohérence transactionnelle dans le cadre de l’interrogation des tables Apache Iceberg. Vous pouvez manipuler les données de vos tables à l'aide de services conformes ACID (atomicité, cohérence, isolation, durabilité) tels qu'Amazon Athena et Amazon lors de l'exécution de requêtes à l'aide d'EMRAmazon Redshift. Amazon Redshift peut utiliser les statistiques de tables stockées dans les métadonnées Apache Iceberg pour optimiser les plans de requêtes et limiter les analyses de fichiers pendant le traitement des requêtes. Avec Amazon RedshiftSQL, vous pouvez associer des tables Redshift à des tables de data lake.

Pour commencer à utiliser des tables Iceberg avec Amazon Redshift :

  1. Créez une table Apache Iceberg sur une AWS Glue Data Catalog base de données à l'aide d'un service compatible tel qu'Amazon Athena ou Amazon. EMR Pour créer une table Iceberg à l’aide d’Athena, consultez Utilisation de tables Apache Iceberg dans le Guide de l’utilisateur Amazon Athena.

  2. Créez un cluster Amazon Redshift ou un groupe de travail Redshift Serverless avec un IAM rôle associé qui permet d'accéder à votre lac de données. Pour plus d'informations sur la création de clusters ou de groupes de travail, consultez Commencer avec les entrepôts de données provisionnés Amazon Redshift et Commencer avec les entrepôts de données sans serveur Redshift dans le guide de démarrage Amazon Redshift.

  3. Connectez-vous à votre cluster ou groupe de travail à l'aide de l'éditeur de requêtes v2 ou d'un SQL client tiers. Pour plus d'informations sur la façon de se connecter à l'aide de l'éditeur de requêtes v2, consultez la section Connexion à un entrepôt de données Amazon Redshift à l'aide d'outils SQL clients dans le guide de gestion Amazon Redshift.

  4. Créez un schéma externe dans votre base de données Amazon Redshift pour une base de données de catalogue de données spécifique qui comprend vos tables Iceberg. Pour obtenir des informations sur la création d’un schéma externe, consultez Création de schémas externes pour Amazon Redshift Spectrum.

  5. Exécutez SQL des requêtes pour accéder aux tables Iceberg dans le schéma externe que vous avez créé.

Éléments à prendre en considération lors de l’utilisation de tables Apache Iceberg avec Amazon Redshift

Tenez compte des points suivants lorsque vous utilisez Amazon Redshift avec des tables Iceberg :

  • Prise en charge des versions d’Iceberg – Amazon Redshift prend en charge l’exécution de requêtes sur les versions suivantes de tables Iceberg :

    • La version 1 définit la façon dont les grandes tables analytiques sont gérées en utilisant des fichiers de données immuables.

    • La version 2 ajoute la possibilité de prendre en charge les mises à jour et les suppressions de niveau ligne tout en laissant les fichiers de données existants inchangés et en gérant les modifications de données de tables à l’aide de fichiers de suppression.

    Pour connaître la différence entre les tables de version 1 et de version 2, consultez Format version changes dans la documentation Apache Iceberg.

  • Requêtes uniquement – Amazon Redshift prend en charge l’accès en lecture seule aux tables Apache Iceberg. Il prend en charge les requêtes de sélection transactionnelles cohérentes. Vous pouvez utiliser un service comme Amazon Athena pour définir et mettre à jour le schéma des tables Iceberg dans le  AWS Glue Data Catalog.

  • Ajout de partitions – Vous n’avez pas besoin d’ajouter de partitions manuellement pour vos tables Apache Iceberg. Les nouvelles partitions au niveau des tables Apache Iceberg sont automatiquement détectées par Amazon Redshift et aucune opération manuelle n’est nécessaire pour mettre à jour les partitions dans la définition de table. Les modifications éventuellement apportées dans la spécification des partitions sont aussi appliquées automatiquement à vos requêtes sans aucune intervention de l’utilisateur.

  • Ingestion de données Iceberg dans Amazon Redshift : vous pouvez INSERT INTO utiliser les commandes CREATE TABLE ou AS pour importer des données de votre table Iceberg dans une table Amazon Redshift locale. Vous ne pouvez actuellement pas utiliser la COPY commande pour ingérer le contenu d'une table Apache Iceberg dans une table Amazon Redshift locale.

  • Vues matérialisées : vous pouvez créer des vues matérialisées pour les tables Apache Iceberg comme pour n’importe quelle autre table externe dans Amazon Redshift. Les éléments à prendre en considération pour les autres formats de table de lac de données valent également pour les tables Apache Iceberg. Les mises à jour incrémentielles, les actualisations automatiques, la réécriture automatique des requêtes et les tables automatiques MVs sur les lacs de données ne sont actuellement pas prises en charge.

  • AWS Lake Formation contrôle d'accès détaillé : Amazon Redshift AWS Lake Formation prend en charge le contrôle d'accès détaillé sur les tables Apache Iceberg.

  • Paramètres de gestion des données définis par l’utilisateur – Amazon Redshift prend en charge les paramètres de gestion des données définis par l’utilisateur pour les tables Apache Iceberg. L’utilisation de paramètres de gestion des données définis par l’utilisateur sur des fichiers existants permet de personnaliser les données interrogées dans les tables externes afin d’éviter des erreurs d’analyse. Ces paramètres offrent la possibilité de gérer les incohérences entre le schéma de table et les données réelles des fichiers. Vous pouvez également utiliser les paramètres de gestion des données définis par l’utilisateur pour les tables Apache Iceberg.

  • Partage de données – Le partage de données Amazon Redshift ne prend actuellement pas en charge les tables de lac de données, y compris les tables Apache Iceberg.

  • Requêtes Time Travel – Les requêtes Time Travel ne sont actuellement pas prises en charge avec les tables Apache Iceberg.

  • Tarification : lorsque vous accédez à des tables Iceberg depuis un cluster, vous êtes facturé au tarif Redshift Spectrum. Lorsque vous accédez à des tables Iceberg depuis un groupe de travail, vous êtes facturé au tarif Redshift sans serveur. Pour en savoir plus sur la tarification Redshift Spectrum et Redshift sans serveur, consultez Tarification Amazon Redshift.