Nato più di una decina di anni fa, Apache Pig è un componente tecnologico dell’ecosistema Hadoop, la piattaforma operativa dei Big Data. Fin dai primi tempi è stato di grande aiuto per gli analisti, desiderosi di estrarre informazioni utili dagli enormi volumi di dati raccolti.
Contrariamente alla sua importanza negli anni passati, poche persone al di fuori del settore delle tecnologie Big Data ne hanno mai sentito parlare, pochi del settore ne hanno un’idea precisa.
Il nome è Apache Pig, ma nella maggior parte dei casi viene più semplicemente citato come Pig. Si tratta di un tool open-source per l’analisi di grandi volumi di dati. E’ stato concepito nel 2006 da Yahoo sulla base della necessità dell’azienda di trasformare e analizzare quantità crescenti di dati senza dover scrivere complesse applicazioni MapReduce. Negli anni seguenti è stato ceduto alla Apache Software Foundation e dal quel momento è stato utilizzato per l’analisi e l’estrazione di petabyte di dati in tutto il mondo. Uno degli aspetti interessanti legati ad Apache Pig riguarda l’origine del suo nome e del nome del suo linguaggio di manipolazione dei dati: Pig Latin. Spesso si pensa che la scelta di un maiale come simbolo dell’applicazione derivi dal fatto che quasi tutti gli strumenti operanti nel mondo Hadoop si rifanno all’immagine di un animale. Questo è vero in parte. La scelta è dovuta in gran parte alla caratteristiche comportamentali del maiale che in qualche modo rappresentano la modalità che dovrebbe guidare l’utilizzo dello strumento e cioè:
- Il maiale mangia qualsiasi cosa. E’ un divoratore seriale, cioè sono in grado di elaborare ogni tipo di dato, strutturato e non strutturato, proveniente da svariate sorgenti.
- Il maiale è in grado di vivere ovunque. Benchè implementato inizialmente per Hadoop, può funzionare anche sul proprio computer per analizzare file personali.
- I maiali sono animali domestici. Progettato per essere compreso e utilizzato dagli utenti ed il suo linguaggio Pig Latin è facilmente adottabile.
- I maiali volano. Con questo modo di dire si intende la facilità e velocità con la quale si possono trattare Big Data con poche linee di programma di Pig Latin.
E’ curioso anche ricordare come Pig Latin abbia un significato fuori dal contesto del mondo dell’informatica. Pig Latin è una lingua ludica. Con lingua ludica si intende un idioma, solitamente usata per gioco dai ragazzi, che si utilizza per non farsi capire dagli adulti o anche per puro divertimento. Le regole sono sostanzialmente 2: le parole che cominciano con una consonante vengono modificate spostando le prime lettere fino alla prima vocale alla fine della parola e aggiungendo il suffisso ‘ay’, le parole che iniziano per vocale vengono modificate aggiungendo ‘hay’ al termine della parola. In questo modo cane diventa anec-ay e abito diviene abito-way.
Non esiste probabilmente una connessione razionale tra Pig Latin come lingua ludica e come linguaggio di gestione di Big Data, anzi sembra proprio che le analogie siano assenti. La lingua ludica è fatta per non farsi comprendere, la seconda per estrarre utili informazioni da enormi e apparentemente deformi quantità di bytes.
