Vidéo: ОТ АТЕИСТА К СВЯТОСТИ 2024
À la base, Pig Latin est un langage de flux de données , dans lequel vous définissez un flux de données et une série de transformations appliquées aux données. grâce à votre application. Ceci est en contraste avec un langage de flux de contrôle (comme C ou Java), où vous écrivez une série d'instructions.
Dans les langages de flux de contrôle, vous utilisez des constructions telles que les boucles et la logique conditionnelle (comme une instruction if). Vous ne trouverez pas de boucles et si les déclarations en latin Pig.
Si vous avez besoin de convaincre que travailler avec Pig est beaucoup plus facile que de devoir écrire des programmes Map and Reduce, commencez par jeter un oeil à la vraie syntaxe de Pig:
A = LOAD 'fichier_données. SMS';. B = GROUPE …; … C = FILTRE …;. DUMP B;. STOCKER C INTO 'Résultats';
Une partie du texte de cet exemple ressemble à l'anglais, n'est-ce pas? Pas trop effrayant, au moins à ce stade. En regardant chaque ligne à son tour, vous pouvez voir le flux de base d'un programme Pig. (Notez que ce code peut faire partie d'un script ou être émis sur le shell interactif appelé Grunt.)
-
Load: Vous chargez d'abord (LOAD) les données que vous voulez manipuler.
Comme dans un travail MapReduce classique, ces données sont stockées dans HDFS. Pour qu'un programme Pig accède aux données, vous devez d'abord indiquer à Pig quel fichier ou quels fichiers utiliser. Pour cette tâche, vous utilisez la commande LOAD 'data_file'.
Ici, 'data_file' peut spécifier un fichier HDFS ou un répertoire. Si un répertoire est spécifié, tous les fichiers de ce répertoire sont chargés dans le programme.
Si les données sont stockées dans un format de fichier qui n'est pas nativement accessible à Pig, vous pouvez éventuellement ajouter la fonction USING à l'instruction LOAD pour spécifier une fonction définie par l'utilisateur qui peut lire (et interpréter) les données.
-
Transformation: vous exécutez les données à travers un ensemble de transformations qui, bien au-dessous du capuchon et loin de tout ce qui vous concerne, sont traduites en un ensemble de tâches Map et Reduce.
La logique de transformation est l'endroit où toutes les manipulations de données ont lieu. Ici, vous pouvez FILTRER des lignes qui ne vous intéressent pas, JOINDRE deux ensembles de fichiers de données, des données GROUP pour construire des agrégations, ORDER des résultats, et faire beaucoup, beaucoup plus.
-
Dump: Enfin, vous sauvegardez (DUMP) les résultats sur l'écran
ou
Store (STORE) les résultats dans un fichier quelque part.
Vous utiliseriez généralement la commande DUMP pour envoyer la sortie à l'écran lorsque vous déboguez vos programmes. Lorsque votre programme passe en production, il vous suffit de remplacer l'appel DUMP par un appel STORE afin que les résultats de l'exécution de vos programmes soient stockés dans un fichier pour traitement ultérieur ou analyse.