Video: Apache Pig -16- Loading tuple data 2024
Pig Latin är språket för grisprogram. Pig översätter Pig Latin-skriptet till MapReduce-jobb som det kan utföras inom Hadoop-klyftan. När du kom med gris latin följde utvecklingsgruppen tre nyckeldesignprinciper:
-
Håll det enkelt . Pig Latin ger en strömlinjeformad metod för att interagera med Java MapReduce. Det är en abstraktion, med andra ord som förenklar skapandet av parallella program på Hadoop-klyftan för dataflöden och analys. Komplexa uppgifter kan kräva en serie interrelaterade datatransformationer - sådana serier kodas som dataflödessekvenser.
Skriva datatransformation och flöden som Pig Latin-skript istället för Java MapReduce-program gör dessa program enklare att skriva, förstå och underhålla eftersom a) du inte behöver skriva jobbet i Java, b) du behöver inte tänka när det gäller MapReduce, och c) du behöver inte komma med anpassad kod för att stödja rika datatyper.
Pig Latin ger ett enklare språk att utnyttja ditt Hadoop-kluster, vilket gör det lättare för fler att utnyttja Hadops kraft och bli produktiv tidigare.
-
Gör det smart. Du kan komma ihåg att Pig Latin Compiler gör arbetet med att omvandla ett Pig Latin-program till en serie av Java MapReduce-jobb. Tricket är att se till att kompilatorn kan optimera exekveringen av dessa Java MapReduce-jobb automatiskt, så att användaren kan fokusera på semantik snarare än hur man optimerar och får tillgång till data.
För dig som SQL-typer där ute hörs denna diskussion bekant. SQL är upprättad som en deklarativ fråga som du använder för att komma åt strukturerad data lagrad i en RDBMS. RDBMS-motorn översätter först frågan till en datatillgångsmetod och tittar sedan på statistiken och genererar en rad metoder för åtkomståtkomst. Den kostnadsbaserade optimatorn väljer det mest effektiva sättet att genomföra.
-
Begränsa inte utvecklingen. Gör Pig extensible så att utvecklare kan lägga till funktioner för att möta deras specifika affärsproblem.
Traditionella RDBMS-datalager använder sig av ETL-databehandlingsmönstret, där du e xtract-data från externa källor, t formar det för att passa dina operativa behov och sedan > l oad in i slutmålet, oavsett om det är en operativ datalagring, ett datalager eller en annan variant av databasen. Men med stora data vill du vanligtvis minska antalet data du har flyttat, så att du äntligen tar processen till själva data.
Språket för grisdataflöden passerar därför det gamla ETL-tillvägagångssättet, och går istället med ELT:
E xtrakt data från dina olika källor, l oad det till HDFS, och sedan t omformar det som nödvändigt för att förbereda data för vidare analys.