Video: L' économie de la connaissance par Idriss ABERKANE 2025
Al centro, Pig Latin è una lingua dataflow , in cui si definisce un flusso di dati e una serie di trasformazioni applicate ai dati mentre scorre attraverso la tua applicazione. Ciò è in contrasto con un linguaggio di controllo (come C o Java), in cui si scrive una serie di istruzioni.
Nei linguaggi del flusso di controllo, si usano costrutti come cicli e logica condizionale (come un'istruzione if). Non troverai loop e se affermazioni in Pig Latin.
Se hai bisogno di convincere che lavorare con Pig è una riga molto più facile da zappa che dover scrivere programmi Mappa e Riduci, inizia dando un'occhiata alla sintassi del vero Pig:
A = CARICA 'data_file. testo';. B = GRUPPO …; … C = FILTRO …;. DUMP B;. STORE C INTO 'Risultati';
Alcuni dei testi di questo esempio sembrano effettivamente inglesi, giusto? Non troppo spaventoso, almeno a questo punto. Guardando ciascuna riga a turno, puoi vedere il flusso di base di un programma Pig. (Si noti che questo codice può essere parte di uno script o emesso nella shell interattiva chiamata Grunt.)
-
Carica: per prima cosa carichi (CARICA) i dati che vuoi manipolare.
Come in un tipico lavoro MapReduce, quei dati sono memorizzati in HDFS. Affinché un programma Pig possa accedere ai dati, devi prima dire a Pig quali file o file utilizzare. Per quel compito, si utilizza il comando LOAD 'data_file'.
Qui, 'data_file' può specificare un file HDFS o una directory. Se viene specificata una directory, tutti i file in quella directory vengono caricati nel programma.
Se i dati sono memorizzati in un formato di file che non è nativamente accessibile a Pig, è possibile aggiungere facoltativamente la funzione USING all'istruzione LOAD per specificare una funzione definita dall'utente in grado di leggere (e interpretare) i dati.
-
Trasforma: i dati vengono gestiti attraverso una serie di trasformazioni che, sotto la cappa e lontane da qualsiasi cosa tu debba preoccuparti, sono tradotte in un insieme di attività Mappa e Riduci.
La logica di trasformazione è quella in cui avviene tutta la manipolazione dei dati. Qui puoi FILTRAre le righe che non interessano, unire due insiemi di file di dati, dati di GRUPPO per creare aggregazioni, risultati di ORDER e fare molto, molto di più.
-
Dump: Infine, si esegue il dump (DUMP) dei risultati sullo schermo
o
Store (STORE) i risultati in un file da qualche parte.
In genere si utilizza il comando DUMP per inviare l'output sullo schermo durante il debug dei programmi. Quando il tuo programma entra in produzione, devi semplicemente cambiare la chiamata DUMP a una chiamata STORE in modo che qualsiasi risultato dell'esecuzione dei tuoi programmi sia memorizzato in un file per ulteriori elaborazioni o analisi.
