"Simple" betyr ofte "elegant" når det gjelder de arkitektoniske tegningene for det ny Silicon Valley herregård du har planlagt for når pengene begynner å rulle inn etter at du implementerer Hadoop. Det samme prinsippet gjelder programvarearkitektur. Gris består av to (teller dem, to) komponenter:
-
Språket i seg selv: Som bevis på at programmererne har en sans for humor, er programmeringsspråket for gris kjent som gris latin, et høyt nivå språk som lar deg skrive databehandling og analyseprogrammer.
-
Pig Latin compiler: Pig Latin compiler konverterer Pig Latin-koden til kjørbar kode. Den kjørbare koden er enten i form av MapReduce-jobber, eller det kan hente en prosess der en virtuell Hadoop-forekomst er opprettet for å kjøre grisekoden på en enkelt node.
Sekvensen av MapReduce-programmer gjør det mulig for grisprogrammer å gjøre databehandling og analyse parallelt, for å utnytte Hadoop MapReduce og HDFS. Kjører grisjobben i den virtuelle Hadoop-forekomsten er en nyttig strategi for testing av grisskriptene dine.
Figuren viser hvordan gris relaterer til Hadoop økosystem.
Grisprogrammer kan kjøre på MapReduce v1 eller MapReduce v2 uten noen endringer i kode, uansett hvilken modus klyngen din kjører. Men grisskript kan også kjøres ved hjelp av Tez API i stedet. Apache Tez gir et mer effektivt utførelsesramme enn MapReduce. YARN gjør det mulig å bruke applikasjonsrammer enn MapReduce (som Tez) til å kjøre på Hadoop. Hive kan også løpe mot Tez-rammen.
