Video: Pig Latin Data Model 2025
Pig Latin er et dataflow -sprog, hvor du definerer en datastrøm og en række transformationer, der anvendes til dataene, som det strømmer gennem din ansøgning. Dette er i modsætning til et kontrolflow sprog (som C eller Java), hvor du skriver en række instruktioner.
I kontrolflowsprogene bruger du konstruktioner som sløjfer og betinget logik (som en if-sætning). Du vil ikke finde løkker og hvis udsagn i gris latin.
Hvis du har brug for overbevisende om at arbejde med gris er en væsentlig lettere række til at hakke end at skulle skrive kort og reducere programmer, skal du starte med at kigge på en ægte Pig-syntaks:
A = LOAD 'data_file. txt ';. B = GRUPPE …; … C = FILTER …;. DUMP B;. OPBEVAR C TIL 'RESULTATER';
Nogle af teksterne i dette eksempel ligner faktisk engelsk, ikke? Ikke for skræmmende, i det mindste på dette tidspunkt. Når man ser på hver linje igen, kan man se den grundlæggende strøm af et Pig-program. (Bemærk at denne kode enten kan være en del af et script eller udstedt på den interaktive shell kaldet Grunt.)
-
Belastning: Du skal først indlæse (LOAD) de data, du vil manipulere.
Som i et typisk MapReduce-job gemmes disse data i HDFS. For et griseprogram at få adgang til dataene, skal du først fortælle Pig, hvilke filer eller filer der skal bruges. Til den opgave bruger du kommandoen LOAD 'data_file'.
Her kan 'data_file' angive enten en HDFS-fil eller en mappe. Hvis en mappe er angivet, er alle filer i den pågældende mappe indlæst i programmet.
Hvis dataene gemmes i et filformat, der ikke er tilgængeligt for gris, kan du eventuelt tilføje USING-funktionen til LOAD-sætningen for at angive en brugerdefineret funktion, der kan læses ind (og fortolke) dataene.
-
Transform: Du kører dataene gennem et sæt transformationer, der, langt under emhætten og langt fjernet fra alt, hvad du skal bekymre dig om, oversættes til et sæt kort- og formindskelsesopgaver.
Transformationslogikken er, hvor al datamanipulation sker. Her kan du FILTER ud rækker, der ikke er interessante, FØD med to sæt datafiler, GROUP data for at opbygge aggregater, ORDER resultater og gøre meget, meget mere.
-
Dump: Dump (DUMP) resultaterne til skærmen
eller
Store (STORE) resultaterne i en fil et eller andet sted.
Du vil typisk bruge DUMP-kommandoen til at sende output til skærmen, når du fejler dine programmer. Når dit program går i produktion, ændrer du simpelthen DUMP-opkaldet til et STORE-opkald, så alle resultater fra at køre dine programmer gemmes i en fil til videre behandling eller analyse.