„Apache Pig“ operatoriai: 1 dalis. Ryšio operatoriai

Šiame įraše aprašomi „Apache Pig“ operatoriai. Pažvelkite į šį „Apache Pig“ operatorių įrašą: 1 dalis - Ryšių operatoriai.

Šis įrašas yra apie „Apache Pig“ operatorius.Apache Pig taip pat leidžia jums rašyti sudėtingas duomenų transformacijas be Java žinios, todėl tai tikrai svarbu .Prieš eidami pas operatorius, greitai apžvelkime, kas yra kiaulė ir kiaulė Latin ir kokie yra skirtingi jų naudojimo režimai.

Kas yra Apache Pig?

„Apache Pig“ yra aukšto lygio procedūrinė kalba, skirta užklausoms dėl didelių duomenų rinkinių naudojant „Hadoop“ ir „Map Reduce Platform“. Tai yra „Java“ paketas, kuriame scenarijus galima vykdyti iš bet kurios kalbos, įdiegtos JVM. Tai labai naudojama iteraciniuose procesuose.





„Apache Pig“ supaprastina „Hadoop“ naudojimą leidžiant SQL tipo užklausas paskirstytam duomenų rinkiniui ir leidžia sukurti sudėtingas užduotis, kad būtų galima greitai ir efektyviai apdoroti didelius duomenų kiekius. Geriausia „Pig“ savybė yra ta, kad ji palaiko daugybę santykinių funkcijų, tokių kaip „Join“, „Group“ ir „Aggregate“.

Aš žinau, kad Kiaulė daug labiau skamba kaip ETL įrankis ir ji turi daug funkcijų, būdingų ETL įrankiams. Tačiau „Pig“ pranašumas, palyginti su ETL įrankiais, yra tai, kad jis vienu metu gali veikti daugelyje serverių.



Kas yra „Apache Pig Latin“?

„Apache Pig“ sukuria paprastesnę procedūrinę kalbos abstrakciją per „Map Reduce“, kad būtų atskleista labiau struktūrizuota užklausos kalbos (SQL) sąsaja „Hadoop“ programoms, vadinamoms „Apache Pig Latin“, taigi, užuot parašę atskirą programą „Map Reduce“, galite parašyti vieną scenarijų „Apache“ „Pig Latin“, kuris yra automatiškai lygiagretus ir paskirstomas klasteryje. Paprastais žodžiais tariant, Pig Latin yra paprastų teiginių seka, įvedanti įvestį ir sukurianti išvestį. Įvesties ir išvesties duomenis sudaro krepšiai, žemėlapiai, rinkiniai ir skaliarai.

„Apache Pig“ vykdymo režimai:

„Apache Pig“ turi du vykdymo režimus:

  • Vietos režimas

„Vietiniu režimu“ šaltinio duomenys būtų renkami iš vietinio katalogo jūsų kompiuterio sistemoje. „MapReduce“ režimą galima nurodyti naudojant komandą „pig –x local“.



„Apache Pig“ operatoriai - 1

mesti dvigubą int java
  • „MapReduce“ režimas:

Norėdami paleisti „Pig“ „MapReduce“ režimu, turite prieigą prie „Hadoop“ sankaupos ir HDFS diegimo. „MapReduce“ režimą galima nurodyti naudojant „pig“ komandą.

„Apache Pig“ operatoriai:

„Apache Pig Operators“ yra aukšto lygio procedūrinė kalba, skirta užklausoms dėl didelių duomenų rinkinių naudojant „Hadoop“ ir „Map Reduce“ platformą. „Pig Latin“ sakinys yra operatorius, kuris ima santykį kaip įvestį ir sukuria kitą santykį kaip išvestį. Šie operatoriai yra pagrindiniai įrankiai, kuriuos „Pig Latin“ teikia duomenims valdyti. Jie leidžia jums jį pertvarkyti rūšiuojant, grupuojant, jungiant, projektuojant ir filtruojant.

Sukurkime du failus komandoms vykdyti:

Mes turime du failus pavadinimu „pirmasis“ ir „antrasis“. Pirmajame faile yra trys laukai: vartotojas, URL ir ID.

Antrame faile yra du laukai: URL ir įvertinimas. Šie du failai yra CSV failai.

„Apache Pig“ operatoriai gali būti klasifikuojami kaip: Santykinis ir diagnostinis.

Ryšių operatoriai:

Santykiniai operatoriai yra pagrindiniai įrankiai, kuriuos „Pig Latin“ teikia duomenims valdyti. Tai leidžia transformuoti duomenis rūšiuojant, grupuojant, sujungiant, projektuojant ir filtruojant. Šiame skyriuje aprašomi pagrindiniai reliaciniai operatoriai.

KROVA:

LOAD operatorius naudojamas duomenims iš failų sistemos ar HDFS saugyklos įkelti į „Pig“ ryšį.

Šiame pavyzdyje „Load“ operatorius įkelia duomenis iš failo „pirmasis“ į formos ryšį „loading1“. Laukų pavadinimai yra user, url, id.

KIEKVIENAM:

Šis operatorius generuoja duomenų transformacijas pagal duomenų stulpelius. Jis naudojamas laukams pridėti arba pašalinti iš santykio. Norėdami dirbti su duomenų stulpeliais, naudokite FOREACH-GENERATE operaciją.

VISI rezultatai:

FILTRAS:

Šis operatorius pasirenka porcijas iš santykio pagal sąlygą.

Šiame pavyzdyje filtruojame įrašą iš „loading1“, kai sąlyga „id“ yra didesnė nei 8.

FILTRAS Rezultatas:

PRISIJUNGTI:

JOIN operatorius naudojamas atlikti dviejų ar daugiau santykių, pagrįstų bendro lauko vertėmis, vidinį lygiavertį sujungimą. JOIN operatorius visada atlieka vidinį sujungimą. Vidiniai prisijungimai ignoruoja nulinius raktus, todėl tikslinga juos išfiltruoti prieš sujungimą.

Šiame pavyzdyje sujunkite du santykius, pagrįstus stulpeliais „URL“ iš „loading1“ ir „loading2“.

PRISIJUNGTI Rezultatas:

RŪŠIUOTI PAGAL:

„Order By“ naudojamas rūšiuoti santykį pagal vieną ar daugiau laukų. Rūšiuoti galite didėjimo ar mažėjimo tvarka, naudodami ASC ir DESC raktinius žodžius.

Žemiau pateiktame pavyzdyje mes rūšiuojame duomenis įkeliant2 reitingų lauko didėjimo tvarka.

UŽSAKYTI PAGAL rezultatą :

ATKIRTI:

„Distinct“ pašalina pasikartojančius santykio elementus. Leiskite paimti įvesties failą, kaip nurodyta toliau amr, šūdas, 8 ir amr, myblog, 10 du kartus byloje. Kai šio failo duomenims taikome atskirai, pasikartojantys įrašai pašalinami.

NESKIRTI rezultatą:

PARDUOTUVĖ:

Parduotuvė naudojama rezultatams išsaugoti failų sistemoje.

Čia mes taupome pakrovimas3 duomenis į failą pavadinimu saugojimas HDFS.

virėjas prieš lėlę vs įmanoma

PARDUOTUVĖ Rezultatas:

GRUPĖ:

Operatorius GROUP grupuoja grupes tuo pačiu grupės raktu (raktų laukas). Rakto laukas bus dvigubas, jei grupės rakte yra daugiau nei vienas laukas, kitaip jis bus tokio paties tipo kaip ir grupės raktas. GRUPĖS operacijos rezultatas yra santykis, apimantis po vieną po vieną grupėje.

Šiame pavyzdyje grupė tūkst

ryšys ‘loading1’ pagal stulpelio URL.

GRUPĖS rezultatas:

GRUPĖ:

COGROUP yra tas pats, kas GROUP operatorius. Kad būtų lengviau įskaityti, programuotojai paprastai naudoja grupę, kai dalyvauja tik vienas ryšys, ir grupę, kai vėl dalyvauja keli santykiai.

Šiame pavyzdyje abiejuose santykiuose grupuokite laukus „loading1“ ir „loading2“ pagal URL.

GRUPĖ Rezultatas:

KIRSTI:

Operatorius CROSS naudojamas apskaičiuojant dviejų ar daugiau santykių kryžminį produktą (Dekarto sandaugos produktas).

Kryžminio produkto taikymas pakraunant1 ir pakraunant2.

Kryžiaus rezultatas:

RIBOTIS:

LIMIT operatorius naudojamas išvesties rinkinių skaičiui apriboti. Jei nurodytas išvesties rinkinių skaičius yra lygus arba viršija junginių skaičių, išvestis įtraukia visus santykius.

LIMIT Rezultatas:

SPLIT:

Operatorius SPLIT naudojamas santykio turiniui padalyti į du ar daugiau santykių, pagrįstų kokia nors išraiška. Priklausomai nuo išraiškoje nurodytų sąlygų.

Padalinkite loading2 į du santykius x ir y. x reliacijoje, sukurtoje pakraunant2, yra laukai, kurių įvertinimas yra didesnis nei 8, o y santykyje yra laukai, kurių įvertinimas yra mažesnis arba lygus 8.

Turite mums klausimą? Prašau paminėti juos komentarų skiltyje ir mes su jumis susisieksime.

Susijusios žinutės:

„Apache Pig“ operatoriai - diagnostikos operatoriai

„Uache“ kūrimo „Apache Pig“ veiksmai