Fermer

janvier 7, 2022

8 façons pour les scientifiques de données d'optimiser leurs requêtes de parquet


Certains formats de données sont en colonnes. Cela signifie qu'ils stockent les informations dans des colonnes ou des lignes. Ils sont populaires car ils peuvent être utilisés pour certains types de requêtes plus facilement que les requêtes basées sur des lignes. Parquet prend en charge le traitement des requêtes en parallèle, ce qui signifie qu'il peut diviser vos données en plusieurs fichiers afin de les lire dans plusieurs processeurs à la fois. Cela vous permet de traiter plus rapidement de très grands ensembles de données en divisant les données en morceaux afin qu'elles puissent être traitées simultanément. Dans cet article, nous allons discuter de 8 façons d'optimiser vos requêtes avec Parquet.

1) Utilisez des tables Parquet avec des colonnes partitionnées

Lors de la génération de tables partitionnées, assurez-vous d'inclure les colonnes que vous souhaitez être des colonnes de partition dans la table. définition du schéma. S'il est utilisé correctement, le partitionnement de vos données peut améliorer considérablement les performances d'un certain nombre d'opérations. Par exemple, vous pouvez utiliser cette technique pour regrouper les enregistrements liés en fonction de certains critères et vous assurer que les données sont lues uniquement à partir des partitions pertinentes au lieu de toutes, ce qui accélère les temps de chargement et améliore l'efficacité de votre application.

2) Utilisation Taille de bloc Parquet qui correspond à la vitesse de chargement de vos données

Lorsque vous stockez des données au format Parquet, il est important de choisir correctement le nombre d'enregistrements par bloc. Par exemple, si vous créez une grande taille de bloc (par exemple, 1 million d'enregistrements), il y aura plus de fragmentation de fichier qui peut affecter la vitesse d'E/S.

3) Utilisez le stockage par colonnes

Assurez-vous d'inclure les colonnes que vous souhaitez stocker en mode colonne lors de l'enregistrement des données au format Parquet. Les requêtes qui fonctionnent sur un sous-ensemble de colonnes ne nécessiteront le chargement d'aucune autre colonne et économiseront de l'espace disque et de la mémoire.

4) N'utilisez pas de colonnes inutiles

Quand vous êtes. lisant un fichier Parquet, veillez à n'inclure que les colonnes requises par vos requêtes. Dans certaines situations, cela peut impliquer de lire chaque colonne d'un fichier, puis de les stocker dans un autre emplacement pour une analyse ou un traitement ultérieur.

5) Utilisez des codages Parquet qui prennent en charge vos types de données

Parquet prend en charge un large éventail de types de données , alors assurez-vous que vos données sont correctement représentées. Si vous utilisez des valeurs booléennes (par exemple, vrai ou faux), le format Parquet les sérialisera sous forme de chaînes (par exemple, « vrai » ou « faux »). L'encodage « bits », en revanche, peut être utilisé pour gérer efficacement des chaînes composées de zéros et de uns. Si vous comprenez que les valeurs booléennes sont en réalité stockées sous forme de 0 et de 1, vous pouvez utiliser l'encodage « bits ». Cette optimisation réduira l'utilisation du réseau car moins d'octets doivent être envoyés sur le câble.

6) Utiliser les codages de dictionnaire pour les données de séries temporelles

Le codage de dictionnaire est un type de compression qui stocke les valeurs uniques et leur fréquence dans le données compressées. Lorsqu'une valeur est demandée, le dictionnaire peut être rapidement consulté pour découvrir sa fréquence, ce qui est utile lorsqu'il s'agit de colonnes à cardinalité élevée comme les horodatages.

7) Utilisez des codages à colonnes échangées pour les données binaires volumineuses

Utilisez « BLOBS » encodage ou « BYTES » lorsque vous travaillez avec des données binaires. C'est bon pour les grosses données binaires car elles seront compressées et stockées les unes à côté des autres. Cela peut aider votre utilisation de la mémoire pendant les requêtes.

8) Utilisez des types de données variant lorsque cela est possible

Dans un fichier Parquet, les types de données variant dans une seule colonne peuvent contenir différents types de données. Cela implique que chaque ligne a plusieurs valeurs de différents types plutôt qu'une seule valeur par ligne. Ceux-ci sont avantageux car ils réduisent la quantité d'espace requis pour stocker le type de données le plus fréquemment stocké tout en vous permettant de travailler avec une plus grande variété.

Conclusion :

Parquet est un format de stockage de données en colonnes utilisé pour mieux organiser et interroger de grands ensembles de données. Vous pouvez améliorer les performances de vos requêtes et utiliser moins de ressources en suivant ces quelques normes simples.

À propos de l'auteur <!– :   dcallaghan, Solutions Architect–>

En tant qu'architecte de solutions avec Compétent, j'apporte vingt ans d'expérience en développement et je maîtrise actuellement Hadoop/Spark, blockchain et cloud, codage en Java, Scala et Go. Je suis certifié et travaille beaucoup avec Hadoop, Cassandra, Spark, AWS, MongoDB et Pentaho. Plus récemment, j'ai apporté des solutions de blockchain intégrées (en particulier Hyperledger et Ethereum) et de Big Data au cloud en mettant l'accent sur l'intégration de produits de données modernes tels que HBase, Cassandra et Neo4J en tant que référentiel hors blockchain.

cet auteur




Source link