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
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
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.
-
Vous pouvez utiliser les requêtes
CREATE TABLE AS
(CTAS) pour convertir les données en Parquet ou ORC en une seule étape. Pour un exemple, consultez la section Exemple : écriture des résultats d'une requête dans un format différent sur la page Exemples de CTAS requêtes. -
Pour plus d'informations sur l'utilisation d'Athena ETL pour transformer des données depuis CSV Parquet, consultez. UtilisationCTAS, INSERT INTO pour ETL et analyse des données
-
Pour plus d'informations sur l'exécution AWS Glue d'une tâche CSV visant à transformer des données au format Parquet, consultez la section « Transformer les données du CSV format Parquet » dans le billet de blog AWS Big Data Build a data lake foundation with AWS Glue and Amazon S3
. AWS Glue prend en charge l'utilisation de la même technique pour convertir CSV des données versORC, ou JSON des données vers Parquet ouORC.