Video: Pig Latin Data Model 2024
I sin kärna är Pig Latin ett dataflöde språk där du definierar en dataström och en serie omvandlingar som appliceras på data när den flyter genom din ansökan. Detta står i kontrast till ett kontrollflöde språk (som C eller Java), där du skriver en serie instruktioner.
I kontrollflödesspråk använder du konstruktioner som loopar och villkorlig logik (som ett if-uttalande). Du hittar inte slingor och om uttalanden i Pig Latin.
Om du behöver lite övertygande om att arbeta med gris är en väsentligt lättare rad att hoppa än att behöva skriva kart- och reducera program, börja med att kolla på någon riktig Pig-syntax:
A = LOAD 'data_file. Text';. B = GRUPP …; … C = FILTER …;. DUMP B;. BUTIK C INTO "Resultat";
Några av texten i det här exemplet ser faktiskt ut som engelska, eller hur? Inte för läskigt, åtminstone vid denna punkt. Titta på varje rad i sin tur kan du se det grundläggande flödet av ett grisprogram. (Observera att den här koden antingen kan ingå i ett skript eller utfärdas på det interaktiva skalet som kallas Grunt.)
-
Ladda: Du laddar först (LOAD) de data du vill manipulera.
Som i ett typiskt MapReduce-jobb lagras den data i HDFS. För att ett grisprogram ska kunna komma åt data berättar du först för gris vilken fil eller filer som ska användas. För den uppgiften använder du kommandot LOAD 'data_file'.
Här kan "data_file" ange antingen en HDFS-fil eller en katalog. Om en katalog anges anges alla filer i den katalogen i programmet.
Om data lagras i ett filformat som inte är tillgängligt för gris, kan du valfritt lägga till USING-funktionen i LOAD-satsen för att ange en användardefinierad funktion som kan läsas in (och tolka) data.
-
Transform: Du kör data genom en uppsättning transformationer som, långt under huven och långt bort från allt du behöver göra om dig, översätts till en uppsättning kart- och reducera uppgifter.
Transformationslogiken är där all data manipulering sker. Här kan du FILTER ut rader som inte är av intresse, Gå med i två uppsättningar datafiler, GROUP-data för att bygga aggregat, ORDER-resultat och göra mycket, mycket mer.
-
Dump: Dumpar du (DUMP) resultaten till skärmen
eller
Store (STORE) resultaten i en fil någonstans.
Du brukar använda DUMP-kommandot för att skicka utmatningen till skärmen när du felsöker dina program. När ditt program går i produktion ändras du bara DUMP-samtalet till ett STORE-samtal så att alla resultat från att köra dina program lagras i en fil för vidare bearbetning eller analys.