Erinevus Apache Siga ja Apache Taru vahel

Apache Pig'i lugu algab 2006. aastal, kui Yahoo uurija oli hädas MapReduce Java koodidega. Kompileerimise jaoks oli koodi taaskasutamine ja säilitamine keeruline. Samal ajal täheldasid nad, et MapReduce'i kasutajad ei olnud rahul deklaratiivsete keeltega nagu SQL. Nad hakkasid töötama uue keele kallal, mis pidi sobima SQL deklaratiivse stiili, MapReduce'i madala taseme ja protseduurilise stiili vahel. Selle tagajärjel sündis Siga ja Siga vabastati esmakordselt 2008. aasta septembris ning 2009. aasta lõpuks olid umbes pooled Yahoo töökohtadest Siga.

Apache Hive lugu algab 2007. aastal, kui mitte-Java programmeerijad peavad Hadoopi MapReduce'i kasutamise ajal vaeva nägema. Andmebaasi taustal töötav IT-spetsialist seisis silmitsi väljakutsetega Hadoop Clusteril töötada. Algselt jõudsid Facebookis töötavad teadlased taru keeleni. See keel oli väga sarnane SQL-i keelega. Nii nimetati keelt Hive Query Language (HQL) ja hiljem saab sellest avatud lähtekoodiga Apache Community projekt. Pärast Apache'i kogukonna projekti saamist oli Apache tarus suur areng. Facebook oli esimene ettevõte, kes pakkus välja Apache Hive.

Selgitan lähemalt Apache Pig vs Apache Hive kohta.

Tutvustame Apache Pig vs Apache Hive

Apache Pig on suurte andmekogumite analüüsiplatvorm, mis koosneb andmete analüüsiprogrammide väljendamiseks kasutatavast kõrgetasemelisest keelest koos nende programmide hindamise infrastruktuuriga. Apache on Apache ühenduse avatud lähtekoodiga projekt. Apache Pig pakub päringute ja andmetega manipuleerimiseks lihtsat keelt nimega Pig Latin.

Siga kasutavad sellised ettevõtted nagu Yahoo, Google ja Microsoft tohutul hulgal andmekogumite kogumiseks klikkide voogude, otsingulogide ja veebis indekseerimise kujul.

  • Apache Pig pakub pesastatud andmetüüpe, nagu Maps, Tuples ja Bags
  • Apache Pig Järgib mitme päringuga lähenemist, et vältida andmekogumite korduvat skaneerimist.
  • Skriptikeelt tundvad programmeerijad eelistavad Apache Pig'i
  • Siga on lihtne, kui olete SQL-ist hästi teadlik
  • Apache Pigil töötamiseks pole vaja skeemi luua
  • Pig pakub tuge ka suurematele andmeoperatsioonidele nagu tellimine, filtrid ja liitumised
  • Apache Pig raamistik tõlgib Pig Latin programmi MapReduce programmide järjestusteks

Apache Hive'i andmelao tarkvara hõlbustab hajutatud salvestusruumi SQL-i abil andmete lugemist, kirjutamist ja haldamist. Apache taru on Apache avatud lähtekoodiga projekt, mis on üles ehitatud Hadoopi peale, et SQL-i laadse liidese abil suurtest andmekogumitest päringuid teha, neid kokku võtta ja analüüsida. Apache'i taru pakub SQL-i tüüpi keelt nimega HiveQL, mis teisendab läbipaistvalt päringud MapReduce'i Hadoopi hajutatud failisüsteemi (HDFS) salvestatud suurte andmekogumite jaoks täitmiseks.

  • Apache taru on andmelao infrastruktuur.
  • Apache taru on ETL-i tööriist (ekstraheerimine-muundamine-laadimine)
  • Apache taru sarnaneb SQL-iga
  • Apache Hive võimaldab kohandatud kaardistajaid ja reduktoreid
  • Apache Hive suurendab skeemi kujundamise paindlikkust, kasutades andmete seerialiseerimist ja põhjalikku vormistamist
  • Apache taru on analüütiline tööriist

Võrrelge Apache Pig'i ja Apache'i taru vahel (infograafika):

Peamised erinevused Apache Pig ja Apache Hive vahel:

  • Apache Pig on kiirem, kui võrrelda Apache Hive
  • Apache Pig ja Apache Hive jooksevad mõlemad Hadoopi MapReduce'i peal
  • Apache Pig on parim struktureeritud ja poolstruktureeritud jaoks, samas kui Apache Hive on parim struktureeritud andmete jaoks
  • Apache Pig on protseduurikeel, samas kui Apache Hive on deklaratiivne keel
  • Apache Pig toetab välimiste liitumiste jaoks rühmarühma funktsiooni, samas kui Apache Hive seda ei toeta
  • Apache Pigil ei ole tabeli / skeemi salvestamiseks eelmääratletud andmebaasi, samas kui Apache Hive'il on eelnevalt määratletud tabelid / skeemid ja ta salvestab selle teabe andmebaasis.
  • Apache Pig sobib ka keeruka ja pesastatud andmestruktuuri jaoks, samas kui Apache Hive sobib vähem keerukate andmete jaoks
  • Teadlased ja programmeerijad kasutavad Apache siga, andmeanalüütikud aga Apache Hive
Millal Apache Pig'i kasutada?
  • Kui olete programmeerija ja teate skriptikeelt
  • Kui te ei soovi laadimise ajal skeemi luua
  • ETL-i nõuded
  • Kui töötate Hadoopi klastri kliendi poolel
  • Kui töötate Avro Hadoopi failivorminguga
Millal Apache taru kasutada?
  • Andmete ladustamise nõuded
  • Ajalooliste andmete analüütilised päringud
  • Andmeanalüüs, kes tunnevad SQL-i
  • Struktureeritud andmete kallal töötades
  • Andmeanalüütikute poolt
  • Visuaalseks tegemiseks ja aruannete loomiseks

Apache Pig vs Apache Hive võrdlustabel

Arutlen peamiste esemete üle ning eristan Apache Pigi ja Apache Hive'i.

Apache sigaApache taru
AndmetöötlusApache Pig on kõrgetasemeline andmevoo keelApache taru kasutatakse pakkide töötlemiseks, st veebipõhiseks analüütiliseks töötlemiseks (OLAP)
TöötlemiskiirusApache Pigil on pikem latentsus, kuna taustal töötab MapReduceApache Hive'il on ka Maptenedu töö taustal täitmise tõttu suurem latentsusaeg
Ühilduvus HadoopigaApache Pig jookseb MapReduce'i kohalApache Hive töötab ka MapReduce'i peal
DefinitsioonApache Pig on avatud lähtekoodiga kõrgetasemeline andmevoogude süsteem, mis pakub teile lihtsat keeleplatvormi, mida õigesti tuntakse kui Pig Latin, mida saab kasutada andmete ja päringute manipuleerimiseks.Apache taru on avatud lähtekoodiga ja sarnane SQL-ga, mida kasutatakse analüütiliste päringute jaoks
Kasutatav keelApache Pig kasutab protseduurilist andmevoo keelt nimega Pig LatinApache Hive kasutab deklaratiivset keelt nimega HiveQL
SkeemApache Pigil pole skeemi kontseptsiooni. Saate andmeid varjunimesse salvestada.Apache taru toetab andmete tabelitesse sisestamise skeemi
VeebiliidesApache Pig ei toeta veebiliidestApache Hive toetab veebiliidest
OperatsioonidApache Pig'i kasutatakse struktureeritud ja poolstruktureeritud andmete jaoksApache taru kasutatakse struktureeritud andmete jaoks.
Kasutaja spetsifikatsioonApache Pig'i kasutavad teadlased ja programmeerijadApache taru kasutab andmeanalüütik
Töötab sisseApache Pig töötab klastri kliendi poolelApache taru tegutseb klastri serveripoolel
JaotusmeetodidApache Pigis pole jaotuse mõistetApache Hive toetab Shardingi funktsioone
FailiformaatApache Pig toetab Avro failivormingutApache'i taru ei toeta otse Avro-vormingut, kuid saab toetada “org.apache.hadoop.hive.serde2.avro” kasutamist
JDBC / ODBCApache Pig ei toetaApache taru toetab, kuid piiratud
SiluminePig-skripte on lihtne siludaSaame siluda, kuid see on natuke keeruline

Järeldus - Apache Pig'i ja Apache Taru vahel:

Apache Pig ja Apache Hive, mõlemad on Hadoopi klastris tavaliselt kasutusel. Nii Apache Pig kui ka Apache Hive on võimas andmeanalüüsi ja ETL-i tööriist. Apache Pig ja Apache Hive kasutatakse enamasti tootmiskeskkonnas. Kasutaja peab valima tööriista, mis põhineb andmetüüpidel ja eeldataval väljundil. Mõlemad tööriistad pakuvad ainulaadset viisi Hadoopi klastri suurandmete analüüsimiseks. Ülaltoodud arutelu põhjal saab kasutaja valida oma vajaduste jaoks Apache Pig ja Apache Hive.

Soovitatav artikkel

See on olnud juhend Apache Pig vs Apache Hive, nende tähendus, võrdlus pea vahel, peamised erinevused, võrdlustabel ja järeldus. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Hadoopi arendaja intervjuu küsimused
  2. Hadoop vs taru
  3. Kuidas hävitada Hadoopi arendaja intervjuud?
  4. Apache taru vs Apache HBase
  5. Apache Hadoop vs Apache Spark

Kategooria: