Definition

Apache Pig

Apache Pig est une technologie open source qui fournit un mécanisme de haut niveau pour la programmation parallèle de tâches MapReduce à exécuter sur des clusters Hadoop.

Pig permet aux développeurs de créer des routines d'exécution de requêtes destinées à analyser des ensembles de données distribués et volumineux, sans avoir à effectuer des tâches rébarbatives dans MapReduce ; un peu comme le logiciel d'entrepôt de données Apache Hive fournit une interface de type SQL pour Hadoop qui ne requiert aucune programmation MapReduce directe.

Pig comprend deux éléments clés : un compilateur et un langage de script nommé Pig Latin. Pig Latin est un langage de flux de données, axé sur le traitement parallèle. Les responsables du projet Pig de l'Apache Software Foundation positionnent ce langage à mi-chemin entre le SQL déclaratif et l'approche procédurale de Java utilisée dans les applications MapReduce.

Ses partisans avancent, par exemple, que Pig Latin permet de créer des jointures de données plus facilement que Java. Toutefois, grâce à l'utilisation de fonctions définies par l'utilisateur, les applications Pig Latin peuvent s'étendre pour intégrer des tâches de traitement personnalisées rédigées en Java ainsi que dans d'autres langages, tels que JavaScript et Python.

Apache Pig est le fruit des efforts de Yahoo Research. Sa première description formelle a été publiée en 2008. Pig convient au traitement de tous les types de données, structurées ou non structurées, relationnelles et imbriquées. C'est sans doute cette vue « omnivore » des données qui a valu à l'environnement d'être baptisé du nom d'un animal de ferme bien connu. Ce régime s'applique également à la position de Pig par rapport aux frameworks applicatifs : si la technologie est essentiellement associée à Hadoop, elle est réputée capable de fonctionner avec d'autres frameworks.

Le framework Hadoop sous-jacent a été développé à partir d'applications Web à grande échelle dont les architectes ont adopté des méthodes non-SQL pour collecter et analyser de manière économique d'énormes quantités de données. Il comporte de nombreuses options complémentaires pour la gestion d'applications de Big Data.

En effet, il s'avère qu'Apache Pig figure sur une longue liste de technologies de l'écosystème Hadoop, au même titre que Hive, HBase, ZooKeeper, ainsi que d'autres utilitaires destinés à combler les carences fonctionnelles du framework.

Cette définition a été mise à jour en juin 2016

Pour approfondir sur Open Source