Utiliser des formats de stockage en colonnes - 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.

Utiliser des formats de stockage en colonnes

Apache Parquet et Apache ORCsont des formats de stockage en colonnes optimisés pour une récupération rapide des données et utilisés dans les applications AWS analytiques.

Les formats de stockage en colonnes ont les caractéristiques suivantes qui les rendent adaptés à l'utilisation avec Athena :

  • La compression par colonne, avec un algorithme de compression sélectionnée pour le type de données de la colonne pour économiser de l'espace de stockage dans Amazon S3 et réduire l'espace disque et d'I/O lors du traitement de la requête.

  • Prédicate le pushdown dans Parquet et permet aux requêtes ORC Athena de récupérer uniquement les blocs dont elles ont besoin, améliorant ainsi les performances des requêtes. Lorsqu'une requête Athena obtient des valeurs de colonne spécifiques à partir de vos données, elle utilise les statistiques de prédicats de bloc de données, tels que les valeurs max/min, afin de déterminer s'il convient de lire ou d'ignorer le bloc.

  • La division des données dans Parquet ORC permet à Athena de répartir la lecture des données entre plusieurs lecteurs et d'augmenter le parallélisme lors du traitement des requêtes.

Pour convertir vos données brutes existantes d'autres formats de stockage vers Parquet ouORC, vous pouvez exécuter des requêtes CREATETABLEAS SELECT (CTAS) dans Athena et spécifier un format de stockage de données tel que Parquet ouORC, ou utiliser le AWS Glue Crawler.

Choisissez entre Parquet et ORC

Le choix entre ORC (colonne de ligne optimisée) et parquet dépend de vos besoins d'utilisation spécifiques.

Apache Parquet fournit des schémas de compression et de codage de données efficaces et convient parfaitement à l'exécution de requêtes complexes et au traitement de grandes quantités de données. Parquet est optimisé pour une utilisation avec Apache Arrow, ce qui peut être avantageux si vous utilisez des outils liés à Arrow.

ORCfournit un moyen efficace de stocker les données Hive. ORCles fichiers sont souvent plus petits que les fichiers Parquet, et ORC les index peuvent accélérer les requêtes. En outre, il ORC prend en charge les types complexes tels que les structures, les cartes et les listes.

Lorsque vous choisissez entre le parquet et le parquetORC, tenez compte des points suivants :

Performances des requêtes : étant donné que Parquet prend en charge un plus large éventail de types de requêtes, Parquet peut s'avérer un meilleur choix si vous prévoyez d'effectuer des requêtes complexes.

Types de données complexes — Si vous utilisez des types de données complexes, il ORC peut s'agir d'un meilleur choix, car il prend en charge un plus large éventail de types de données complexes.

Taille des fichiers — Si l'espace disque est un problème, cela ORC se traduit généralement par des fichiers plus petits, ce qui peut réduire les coûts de stockage.

Compression — Parquet et Parquet ORC offrent tous deux une bonne compression, mais le format qui vous convient le mieux peut dépendre de votre cas d'utilisation spécifique.

Évolution — Parquet et ORC Supportent l'évolution du schéma, ce qui signifie que vous pouvez ajouter, supprimer ou modifier des colonnes au fil du temps.

Parquet et Parquet ORC constituent tous deux de bons choix pour les applications de mégadonnées, mais tenez compte des exigences de votre scénario avant de choisir. Vous souhaiterez peut-être effectuer des points de référence sur vos données et vos requêtes afin de déterminer quel format convient le mieux à votre cas d'utilisation.

Convertir en formats colonnaires

Les options permettant de convertir facilement des données sources telles que JSON ou CSV dans un format en colonnes incluent l'utilisation de requêtes CREATETABLEAS ou l'exécution de tâches dans AWS Glue.