Vues matérialisées du catalogue de AWS Glue données de requête - Amazon Athena

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.

Vues matérialisées du catalogue de AWS Glue données de requête

Athena vous permet d'interroger les vues matérialisées du catalogue de AWS Glue données. Les vues matérialisées de Glue Data Catalog stockent les résultats précalculés des requêtes SQL sous forme de tables Apache Iceberg.

Lorsque vous créez des vues matérialisées du catalogue de données Glue à l'aide d'Apache Spark dans Amazon EMR, AWS Glue ou lorsque les définitions de vues et les métadonnées sont stockées dans AWS Glue le catalogue de données. Les résultats précalculés sont stockés sous forme de tables Apache Iceberg dans Amazon S3. Vous pouvez interroger ces vues matérialisées depuis Athena à l'aide d'instructions SELECT SQL standard, comme vous le feriez pour les tables Iceberg classiques.

Conditions préalables

Avant de demander des vues matérialisées dans Athena, assurez-vous de ce qui suit :

  • La vue matérialisée existe dans le catalogue de AWS Glue données et a été créée à l'aide d'Apache Spark (Amazon EMR version 7.12.0 ou ultérieure, ou version 5.1 AWS Glue ou ultérieure)

  • Pour interroger des vues matérialisées dans Athena, vous devez disposer des autorisations suivantes : AWS Lake Formation

    • SELECTautorisation sur la vue matérialisée

    • DESCRIBEautorisation sur la vue matérialisée

    • Accès à l'emplacement Amazon S3 sous-jacent où les données de vue matérialisées sont stockées

  • Les données sous-jacentes de la vue matérialisée sont stockées dans des compartiments de table Amazon S3 ou des compartiments à usage général Amazon S3

  • Vous avez accès à la base de AWS Glue données du catalogue de données contenant la vue matérialisée

  • Pour les vues matérialisées stockées dans des compartiments Amazon S3 Tables, assurez-vous que votre rôle IAM dispose des autorisations nécessaires pour accéder au catalogue de tables S3.

Considérations et restrictions

  • Athena n'empêche pas les opérations d'écriture suivantes sur les vues matérialisées :INSERT INTO,,, UPDATE DELETE MERGE

  • Athena ne prend pas en charge les opérations suivantes pour les vues matérialisées :CREATE MATERIALIZED VIEW,,,REFRESH MATERIALIZED VIEW. ALTER MATERIALIZED VIEW DROP MATERIALIZED VIEW Pour créer des vues matérialisées, utilisez Apache Spark dans Amazon AWS Glue EMR ou. Les opérations d'actualisation doivent être effectuées via l'API AWS Glue Data Catalog ou Apache Spark. Modifiez les vues matérialisées à l'aide d'Apache Spark.

  • Utilisez plutôt DROP TABLE la syntaxe, car Athena traite les vues matérialisées comme des tables Iceberg.

Note

Athena ne fait pas la différence entre les vues matérialisées et les tables Iceberg classiques, elle ne bloque donc pas les opérations d'écriture.

Interrogation de vues matérialisées

Athena traite les vues matérialisées comme des tables Iceberg standard pour les opérations de lecture, ce qui vous permet d'accéder aux données précalculées sans nécessiter de modifications spéciales de syntaxe ou de configuration.

Pour interroger une vue matérialisée dans Athena, utilisez SELECT les instructions standard :

SELECT * FROM my_database.sales_summary_mv;

Vous pouvez appliquer des filtres, des agrégations et des jointures comme vous le feriez avec des tables classiques :

SELECT region, SUM(total_sales) as sales_total FROM my_database.sales_summary_mv WHERE year = 2025 GROUP BY region ORDER BY sales_total DESC;

Opérations prises en charge

Athena prend en charge les opérations suivantes sur les vues matérialisées :

  • SELECTrequêtes - Lire des données à partir de vues matérialisées à l'aide d'instructions SQL SELECT standard

  • DESCRIBE- Afficher le schéma et les métadonnées des vues matérialisées

  • SHOW TABLES- Répertorier les vues matérialisées ainsi que les autres tables d'une base de données

  • JOINopérations - Joindre des vues matérialisées à d'autres tables ou vues

  • Filtrage et agrégation - Appliquer WHERE des GROUP BY clauses et agréger des fonctions