Hadoop Pig -opastus: Mikä on Apache Pig? Architecture, esimerkki

⚡ Älykäs yhteenveto

Apache Pig on korkean tason alusta suurten tietojoukkojen analysointiin Hadoopissa. Se yhdistää Pig Latin -tiedonkulkukielen ajonaikaiseen ympäristöön, joka kääntää jokaisen komentosarjan MapReduce-, Tez- tai muuhun muotoon. Spark työt automaattisesti.

  • 🔘 Kaksi komponenttia: Pig Latin tarjoaa kielen ja Pig-ajonaikainen ympäristö muuntaa jokaisen komentosarjan klusteritehtäviksi.
  • ☑️ Toteutustyypit: Nykyisissä julkaisuissa on kuusi suoritustyyppiä, jotka valitaan -x-lipulla, paikallisesta Spark.
  • Edellytykset: Toimiva Hadoop-asennus ja lisäksi Java, josta HADOOP_HOME ja JAVA_HOME on viety, on oltava olemassa ensin.
  • 🧪 Toimiva esimerkki: Neljän lauseen skripti lataa SalesJan2009.csv-tiedoston, ryhmittelee sen maittain ja tallentaa tuotteiden lukumäärät.
  • 🛠️ Tietomalli: Skalaarityypit sekä tuple, bag ja map antavat Pigin lukea sisäkkäisiä ja löyhästi rakennettuja tiedostoja.
  • 📈 Nykyinen versio: Apache Pig 0.18.0 saapui syyskuussa 2025 Hadoop 3:n, Tezin, Spark ja Python 3 tukea.

Hadoop Pig -opetusohjelma, joka käsittelee Apache Pig -arkkitehtuuria, asennusta ja toimivaa Pig Latin -esimerkkiä

Tämä tutoriaali alkaa Apache Pigin taustalla olevalla idealla, käy sitten läpi sen asennuksen ja täydellisen Pig-latinalaisen aakkoston suorittamisen alusta loppuun.

Mikä on Apache Pig?

Sika on korkean tason ohjelmointikieli hyödyllinen suurten tietojoukkojen analysointiin. Pig oli Yahoo!:n kehitystyön tulos.

MapReduce-kehyksessä ohjelmat on käännettävä sarjaksi Map- ja Reduce-vaiheita. Tämä ei kuitenkaan ole ohjelmointimalli, jonka data-analyytikot tuntevat. Joten tämän kuilun kaventamiseksi abstracPig-niminen rakennus rakennettiin Hadoop.

Apache Pig antaa ihmisille mahdollisuuden keskittyä enemmän massadatajoukkojen analysointiin ja käyttää vähemmän aikaa MapReduce-ohjelmien kirjoittamiseen. Samoin kuin siat, jotka syövät mitä tahansa, Apache Pig -ohjelmointikieli on suunniteltu käsittelemään kaikenlaista dataa. Siksi nimi Pig! Alla oleva projektin maskotti tekee saman asian.

Sarjakuvasika Apache Pig -maskotina, joka kuvaa, että Pig käsittelee kaikenlaista dataa

Projekti on edelleen aktiivinen. Apache Pig 0.18.0 julkaistiin 15. syyskuuta 2025 ja lisää tuen Hadoop 3:lle, Tez 0.10:lle, Hive 3:lle, Spark 3, HBase 2 ja Python Vuonna 3, mukaan Apache Pig -julkaisusivuAlla oleva läpikäynti kirjoitettiin alun perin paljon vanhempaa 0.12.1-riviä vasten, joten muutamissa vaiheissa on huomautus, jos nykyinen versio toimii eri tavalla.

Sika Archirakenne

Pigin arkkitehtuuri koostuu kahdesta osasta:

  1. sika latina, joka on kieli
  2. Ajonaikainen ympäristö, Pig Latin -ohjelmien suorittamiseen.

Pig Latin -ohjelma koostuu sarjasta operaatioita tai muunnoksia, joita sovelletaan syöttötietoihin tulosteen tuottamiseksi. Nämä operaatiot kuvaavat tietovuon, jonka Hadoop Pig -suoritusympäristö muuntaa suoritettavaksi tiedostoksi. Näiden muunnosten tulokset ovat sarja MapReduce työtehtäviä, joista ohjelmoija ei ole tietoinen. Joten tavallaan Pig Hadoopissa antaa ohjelmoijalle mahdollisuuden keskittyä dataan suorituksen luonteen sijaan.

Pig Latin on suhteellisen jäykkä kieli, joka käyttää tietojenkäsittelystä tuttuja avainsanoja, kuten Join, Group ja Filter. Alla oleva kaavio tracon skripti Grunt-komentotulkista jäsentimen, optimoijan ja kääntäjän kautta matkalla suoritusmoottoriin.

Apache Pig -arkkitehtuurikaavio, joka näyttää Pig Latin -skriptien kulkevan jäsentimen, optimoijan ja kääntäjän kautta suoritusmoottoriin

Suoritustilat

Hadoopissa Pig-ohjelmalla on kaksi suoritustilaa, ja asennusohjeessa käytetään molempia:

  1. Paikallinen tila: Tässä tilassa Hadoop Pig -kieli toimii yhdessä JVM ja käyttää paikallista tiedostojärjestelmää. Tämä tila sopii vain pienten tietojoukkojen analysointiin Pig in Hadoop -ohjelmalla.
  2. MapReduce-tila: Tässä tilassa Pig Latinilla kirjoitetut kyselyt muunnetaan MapReduce-töiksi ja suoritetaan Hadoop-klusterissa (klusteri voi olla pseudohajautettu tai täysin hajautettu). MapReduce-tila täysin hajautetulla klusterilla on hyödyllinen Pig-kyselyn suorittamiseen suurilla tietojoukoilla.

Nuo kaksi ovat klassinen pari. Nykyisissä julkaisuissa on itse asiassa kuusi suoritustyyppiä eli suoritustyyppiä, joista jokainen valitaan samalla -x lippu, kuten dokumentoitu Pig 0.18.0 Aloitusopas.

Suoritustyyppi Komento Missä työ kulkee
paikallinen sika -x paikallinen Yksi JVM paikallista tiedostojärjestelmää vasten
Tez-paikallinen pig -x tez_local Yksi JVM käyttäen Tez-ajoympäristöä (kokeellinen)
Spark paikallinen pig -x spark_local Yksi JVM, joka käyttää Spark ajonaikainen (kokeellinen)
MapReduce sika tai sika -x mapreduce Hadoop-klusteri HDFS:llä; tämä on oletusarvo
tez sika -x tez Hadoop-klusteri, jossa on käynnissä Tez-moottori
Spark sika -x kipinä A Spark, YARN- tai Mesos-klusteri HDFS:llä

Sian latinalaiset tietotyypit ja OperaTors

Ennen skriptin kirjoittamista on hyödyllistä tietää, mitä Pig voi tallentaa ja mitä se voi niille tehdä. Datamalli on täysin sisäkkäinen, minkä ansiosta Pig voi lukea lokitiedostoja ja muita löyhästi jäsenneltyjä syötteitä, jotka relaatiotaulukko hylkäisi.

Pig Latin tarjoaa kaksi tyyppiperhettä:

  • Skalaarityypit: int, long, float, double, chararray, bytearray, boolean, datetime, biginteger ja bigdecimalMyöhemmin esimerkkiskripti määrittää jokaisen sarakkeen muotoon chararray.
  • Monimutkaiset tyypit: a monikko on järjestetty joukko kenttiä ja käyttäytyy kuin rivi; a laukku on järjestämätön kokoelma tupleja ja käyttäytyy kuin taulukko; a kartta on joukko avain- ja arvopareja, joiden avaimen on oltava chararray.

Operaattorit jakautuvat pieneen määrään töitä, ja kourallinen heistä hoitaa lähes jokaista putkistoa:

OperaTor Mitä se tekee
LATAA / SÄILYTÄ Lue relaatio tiedostojärjestelmästä ja kirjoita tulos takaisin
SUODATIN Säilytä vain ne tuplet, jotka vastaavat ehtoa
FOREACH … GENEROI Työskentele sarake sarakkeelta, luo uusia kenttiä
RYHMÄ / YHTEISTYÖRYHMÄ Ryhmittele yksi relaatio tai kaksi tai useampi relaatio avaimen avulla
LIITY Yhdistä relaatiot sisäisellä tai ulkoisella liitoksella
LIITTO / JAKO Yhdistä relaatiot yhteen tai jaa yksi useisiin osiin
TILAUKSEN PERUSTE / ERITTÄIN / RAJA Lajittele, poista duplikaatit ja rajoita tuplejen määrää
DUMPAA / KUVAILEE / SELITTÄKÄÄ / KUVAILEVAT Tarkista tulokset, skeemat, suoritussuunnitelmat ja esimerkkiajot

Neljällä tarkastusoperaattorilla on myös Grunt-oikopolkuja, mikä säästää aikaa.ping virheenkorjauksen aikana: \d DUMP-tiedostoa varten \de KUVAUKSELLE \e SELITYKSEKSI ja \i ILLUSTRATE-ohjelmaa varten.

Edellytykset

Pig on asiakaspuolen työkalu. Se jäsentää skriptin, suunnittelee työn ja lähettää työt, mutta se ei tarjoa omaa tallennustilaa tai klusteria, joten ensin on oltava toimiva Hadoop-asennus. Apachen vaatimuslista on lyhyt.

komponentti Vaatimus Miksi sitä tarvitaan
Hadoop Hadoop 2.x tai 3.x, HADOOP_HOME vietyllä Tarjoaa HDFS:n ja suoritusmoottorin. Ilman HADOOP_HOMEa Pig 0.18.0 palaa takaisin sulautettuun Hadoop 2.7.3:een.
Java Java 1.7 tai uudempi, jossa JAVA_HOME on asetettu asennuksen juurihakemistoon Pig ja Hadoop-daemonit ovat Java ohjelmat
Python (Valinnainen) Python 2.7 Tarvitaan vain suoratoistoon Python käyttäjän määrittämät funktiot
Muurahainen (valinnainen) Muurahainen 1.8 Tarvitaan vain, kun Pig-koodia rakennetaan tai käännetään uudelleen lähdekoodista

Tuon listan rinnalla on kaksi käytännön vinkkiä. Ensinnäkin, aja kaikki Linux-käyttäjänä, jolla on jo kotihakemisto HDFS ja lupa kirjoittaa siihen; tässä opetusohjelmassa käytetään hduser, Hadoopin asennuksen aikana luotu tili. Toiseksi, käynnistä klusteri ennen Pig-ohjelman käynnistämistä MapReduce-tilassa, koska Pig kaatuu välittömästi, jos NameNode ja ResourceManager ovat alhaalla. Jos Hadoopia ei ole vielä asennettu, toimi seuraavasti: Kuinka asentaa Hadoop ensimmäinen.

Kuinka ladata ja asentaa Pig

Nyt tässä Apache Pig -opetusohjelmassa opimme lataamaan ja asentamaan Pig:n:

Ennen kuin aloitamme varsinaisen prosessin, varmista, että sinulla on Hadoop asennettuna. Vaihda käyttäjätunnukseksi 'hduser' (tunnus, jota käytettiin Hadoopin määrittämisessä; voit vaihtaa käyttäjätunnukseen, jota käytettiin omassa Hadoop-määrityksessäsi).

Päätekomento, joka vaihtaa Linux-käyttäjän hduseriksi ennen Pig-asennuksen alkamista

Vaihe 1) Lataa Pig Hadoopin vakaa uusin versio mistä tahansa peilisivustosta osoitteessa

https://pig.apache.org/releases.html

Valitse ladattava tar.gz-tiedosto (äläkä src.tar.gz-tiedostoa) alla olevan kuvan mukaisesti.

Apache Pig julkaisee lataussivun, jossa on tar.gz-jakelu valittavaksi

Vaihe 2) Kun lataus on valmis, siirry hakemistoon, joka sisältää ladatun tar-tiedoston, ja siirrä tar-tiedosto sijaintiin, johon haluat asentaa Pig Hadoopin. Tässä tapauksessa siirrämme tiedoston hakemistoon /usr/local.

Pääte siirtää ladatun Pig tar -tiedoston /usr/local-hakemistoon

Siirry hakemistoon, joka sisältää Pig Hadoop -tiedostot.

cd /usr/local

Extract tar-tiedoston sisältö alla olevan mukaisesti.

sudo tar -xvf pig-0.12.1.tar.gz

Terminaali extracPig-arkiston avaaminen komennolla sudo tar -xvf

Vaihe 3) Muokkaa ~/.bashrc-tiedostoa lisätäksesi Pig-tiedostoihin liittyviä ympäristömuuttujia.

Avaa ~/.bashrc-tiedosto millä tahansa tekstieditorilla ja tee alla olevat muutokset.

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Tekstieditori, joka näyttää bashrc-tiedostoon lisätyt PIG_HOME- ja PATH-vientirivit

Vaihe 4) Nyt lähdekoodin luo tämä ympäristön kokoonpano alla olevalla komennolla.

. ~/.bashrc

Pääte hakee bashrc-tiedoston, jotta uudet Pig-ympäristömuuttujat tulevat voimaan

Vaihe 5) Meidän on käännettävä Pig uudelleen tukemaan Hadoop 2.2.0:aa.

Tässä ovat vaiheet tämän tekemiseksi.

Siirry Pigin kotihakemistoon.

cd $PIG_HOME

Asenna Ant.

sudo apt-get install ant

Pääte asentaa Apache Antin apt-get-ohjelmalla Pig-tiedoston uudelleenkääntämistä varten

Huomautus: Lataus alkaa ja kestää internet-nopeutesi mukaan.

Käännä Pig uudelleen.

sudo ant clean jar-all -Dhadoopversion=23

Pääte, jossa käytetään Ant-kohdetta, joka kääntää Pigin uudelleen Hadoop 2 -linjaa varten

Huomaa, että tässä uudelleenkääntämisprosessissa ladataan useita komponentteja, joten järjestelmän on oltava yhteydessä Internetiin.

Jos tämä prosessi jumiutuu jonnekin etkä näe komentokehotteessa mitään liikettä yli 20 minuuttiin, paina Ctrl + c ja suorita sama komento uudelleen.

Meidän tapauksessamme se kestää 20 minuuttia.

Pig-uudelleenkääntämisen päätetuloste, joka kesti tässä esimerkissä noin kaksikymmentä minuuttia

Tämä uudelleenkääntämisvaihe kuuluu 0.12.1-aikakauteen, jolloin toimitetut jar-tiedostot rakennettiin Hadoop 1:tä ja -Dhadoopversion=23 flag vaihtoi Ant-koontiversion Hadoop 0.23- ja 2.x-linjalle. Apache Pig 0.18.0 toimittaa binääritiedostot, jotka toimivat jo Hadoop 2.7:ssä ja uudemmissa sekä Hadoop 3:ssa, joten nykyisessä julkaisussa voit normaalisti purkaa tarball-tiedoston ja siirtyä suoraan alla olevaan testiin.

Vaihe 6) Testaa Pig-asennus komennolla

pig -help

pig -help -komennon tuloste, jossa luetellaan Pig-komentorivin asetukset asennuksen jälkeen

Esimerkki Pig Script

Kun Pig on asennettu, tämän Apache Pig -opetusohjelman loppuosa suoritetaan kokonaisen skriptin avulla. Käytämme Pig Scriptsiä selvittääksemme kussakin maassa myytyjen tuotteiden määrän.

Syöte: Syötetietojoukkomme on CSV-tiedosto, MyyntiJan2009.csv.

Vaihe 1) Käynnistä Hadoop.

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

Vaihe 2) Big Datassa oleva Pig ottaa tiedoston HDFS:stä MapReduce-tilassa ja tallentaa tulokset takaisin HDFS:ään.

Kopioi tiedosto SalesJan2009.csv (tallennettuna paikalliseen tiedostojärjestelmään osoitteeseen ~/input/SalesJan2009.csv) HDFS:n (Hadoop Distributed File System) kotihakemistoon.

Tässä Apache Pig -esimerkissä tiedosto on kansion syötekentässä. Jos tiedosto on tallennettu johonkin muualle, anna sen nimi.

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

Pääte kopioi SalesJan2009.csv-tiedoston paikallisesta tiedostojärjestelmästä HDFS:ään

Tarkista, onko tiedosto todella kopioitu vai ei.

$HADOOP_HOME/bin/hdfs dfs -ls /

HDFS-juuriluettelo, joka vahvistaa SalesJan2009.csv-tiedoston kopioinnin

Vaihe 3) Sian konfigurointi.

Siirry ensin kansioon $PIG_HOME/conf ja säilytä kopio alkuperäisestä ominaisuustiedostosta.

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Pääte varmuuskopioi pig.properties-tiedoston ennen Pig-kokoonpanon muokkaamista

Avaa pig.properties haluamallasi tekstieditorilla ja määritä lokitiedoston polku käyttämällä tiedostoa pig.logfile.

sudo gedit pig.properties

pig.properties-määritystiedosto avautuu tekstieditorissa lokitiedostoasetuksissa

Kirjausohjelma käyttää tätä tiedostoa virheiden kirjaamiseen.

Vaihe 4) Suorita komento 'pig', joka käynnistää Pig-komentokehotteen, joka on interaktiivinen komentotulkki Pig-kyselyille.

pig

Grunt-interaktiivinen komentotulkki käynnistyy pig-komennon suorittamisen jälkeen

Vaihe 5) Suorita alla olevat Pig-komennot järjestyksessä Pig-komennon Grunt-komentokehotteessa.

— A. Lataa tiedot sisältävä tiedosto.

salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);

Paina Enter tämän komennon jälkeen.

Grunt-kuori hyväksyy LOAD-lausekkeen, joka lukee myynti-CSV:n relaatioksi

— B. Ryhmittele tiedot Maa-kentän mukaan.

GroupByCountry = GROUP salesTable BY Country;

Grunt-kuori hyväksyy GROUP-lausekkeen, joka ryhmittelee myyntisuhteen maan mukaan

— C. Luo jokaiselle 'GroupByCountry'-muuttujassa olevalle tuplelle merkkijono muotoa Maan nimi: Myytyjen tuotteiden lukumäärä.

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

Paina Enter tämän komennon jälkeen.

Grunt-kuori hyväksyy FOREACH GENERATE -lausekkeen, joka muodostaa maa- ja määrämerkkijonon

— D. Tallenna tietovirran tulokset HDFS:n hakemistoon 'pig_output_sales'.

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Grunt-kuori hyväksyy STORE-lausekkeen, joka kirjoittaa tulosteen pig_output_sales-hakemistoon

Tämän komennon suorittaminen vie jonkin aikaa. Kun se on tehty, sinun pitäisi nähdä seuraava näyttö.

Konsolinäyttö, joka näkyy, kun STORE-komennon suorittaminen on päättynyt

Vaihe 6) Tulos näkyy komentoliittymän kautta muodossa

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Tulostiedoston komentorivituloste, jossa luetellaan myydyt tuotteet maittain

Tulokset ovat nähtävissä myös web-käyttöliittymän kautta.

Avaa http://localhost:50070/ verkkoselaimessa.

Portti 50070 on NameNoden verkkokäyttöliittymä Hadoop 2:ssa. Hadoop 3 siirsi saman sivun porttiin 9870, joten käytä kyseistä osoitetta, jos klusterisi käyttää Hadoop 3:a.

Hadoop NameNode -verkkokäyttöliittymä, jota käytetään HDFS-tiedostojärjestelmän selaamiseen

Valitse nyt 'Selaa tiedostojärjestelmää' ja siirry ylös kansioon /user/hduser/pig_output_sales.

HDFS-selain, joka näyttää pig_output_sales-hakemiston hduser-kotipolun alla

Avaa part-r-00000 lukeaksesi skriptin tuottamat maa- ja tuotemääräparit.

part-r-00000-tulostiedoston selainnäkymä, jossa on maa- ja tuotemääräparit

Apache Pig vs. Hive vs. MapReduce

Pig-työtä arvioidaan harvoin yksinään. Tavallinen kysymys on, kuuluuko työpaikka Pig-työryhmään. Hive tai käsin kirjoitetussa MapReduce-ohjelmassa, koska kaikki kolme päätyvät töiksi samaan klusteriin.

Aspect MapReduce (Java) Apache Sika Apache Hive
liitäntä Java API Pig Latin, tietovuon skriptikieli HiveQL, SQL-murre
Vatsalihasten tasotracTUKSEN Matala Keskikova Korkea
Tyypillinen käyttäjä Java kehittäjä Tietoinsinööri tai tutkija SQL-osaamista tunteva analyytikko
Sopiva data Mikä tahansa, käsin hoidettu Rakenteinen ja puolirakenteinen; skeema on valinnainen latausaikana Metastoreen rekisteröidyt strukturoidut taulukot
Code tilavuus Useimmat linjat Vähemmän rivejä Vähiten rivejä kyselyssä
Toimii nimellä MapReduce-työ Kääntyy MapReduceen, Teziin tai muuhun Spark työpaikat Kääntyy MapReduceen, Teziin tai muuhun Spark työpaikat
Paras Täysi hallinta ja mukautettu logiikka Monivaiheiset ETL-putkistot Ad hoc -kyselyt ja raportointi

Käytännössä jako on suoraviivainen. Käytä Hiveä, kun data näyttää jo taulukolta ja kysymys SQL:ltä. Käytä Pig-käskyä, kun syöte on sekava, kun putki on muunnosketju yhden kyselyn sijaan tai kun saman komentosarjan on haarauduttava ja liityttävä uudelleen. Käytä MapReducea vain, kun kumpikaan ei ole absoluuttinen.tracvoi ilmaista logiikan, koska rivimäärä kasvaa nopeasti.

Sika istuu myös mukavasti muun ekosysteemin vieressä. Sqoop ja Flume laske raakadata, Pig tai Hive muokkaavat sitä ja aikatauluttaja, kuten Apache Oozie ketjuttaa vaiheet toistettavaksi putkeksi. Katso laajempi kuva siitä, mihin nämä työkalut sopivat, oppaasta big data ja yhteenveto big data -työkalut; kaupallisen ETL-vaihtoehdon käsin kirjoitetuille komentosarjoille löydät osoitteesta Talend.

UKK

Kyllä. Apache Pig 0.18.0 julkaistiin 15. syyskuuta 2025 ja se toi tuen Hadoop 3:lle, Tez 0.10:lle, Hive 3:lle, Spark 3, HBase 2 ja Python 3. Kehitys on hitaampaa kuin Yahoo!-vuosina, mutta projektia ei ole lopetettu.

Tekoälyavustajat luonnostelevat muunnoslogiikan pelkän kuvauksen pohjalta, ehdottavat liittymisavaimia, merkitsevät skeeman poikkeamat ajojen välillä ja tiivistävät klusterilokit todennäköiseksi syyksi. Tulostetta käsitellään ensimmäisenä luonnoksena, joka vaatii vielä profilointia todellista dataa vasten.

Copilot tuottaa uskottavan Pig Latin -koodiston nopeasti, koska syntaksi on hyvin esitetty julkisissa tietovarastoissa. Se keksii funktioiden nimiä ja epäsuhtakenttien sijainteja, joten aja DESCRIBE- ja ILLUSTRATE-komennot esimerkille ennen kuin luotat luotuun skriptiin.

Pig-komentosarja suoritetaan vain, kun lauseke pakottaa materialisoinnin. LOAD- ja FOREACH-lausekkeiden ketju validoidaan, mutta sitä ei koskaan suoriteta ennen kuin DUMP- tai STORE-lausekkeita seuraa, joten muunnoksen jälkeen päättyvä komentosarja päättyy hiljaisesti.

DUMP tulostaa relaation terminaaliin ja on tarkoitettu testaukseen. STORE kirjoittaa relaation tiedostojärjestelmään tallennusfunktion, kuten PigStoragen, kautta. Tuotantokomentosarjojen tulisi aina päättyä STORE-päätteeseen.

Ei. AS-lauseke on valinnainen. Ilman sitä jokainen kenttä ladataan bytearray-muodossa ja siihen viitataan sijainnin mukaan, kuten $0 ja $1. Skeeman määrittäminen tekee skripteistä luettavia ja antaa Pigille mahdollisuuden suorittaa tyyppitarkistuksen aikaisemmin.

Useimmat uudet putkistot alkavat Spark, jolla on suurempi yhteisö ja rikkaammat kirjastot. Pig pysyy järkevänä siellä, missä skriptejä on jo olemassa, missä tiimi suosii datakulkusyntaksia tai missä Pig toimii Spark kipinän suoritustyypin kautta.

Sqoop tuo relaatiotaulukot ja Flume-striimien lokitiedot HDFS:ään. Pig muuntaa sitten kaiken saapuneen. Oozie ketjuttaa tuonti-, muunnos- ja vientivaiheet yhdeksi ajoitetuksi työnkuluksi, joten prosessi toistuu ilman manuaalisia suorituksia.

Tiivistä tämä viesti seuraavasti: