Giliai pasinerti į kiaulę

Šis tinklaraščio įrašas yra gilus pasinerimas į Kiaulę ir jos funkcijas. Rasite demonstracinę versiją, kaip galite dirbti su „Hadoop“ naudodami „Pig“, nepriklausydami nuo „Java“.

Viena iš didžiausių priežasčių, kodėl „Hadoop“ populiarumas pastaruoju metu šoktelėjo į viršų, yra tai, kad ant jo veikia tokios funkcijos kaip „Pig“ ir „Hive“, leidžiančios ne programuotojams naudotis funkcijomis, kurios anksčiau buvo išskirtinės „Java“ programuotojams. Šios savybės buvo augančios „Hadoop“ specialistų paklausos pasekmė. Kitos funkcijos, kurias naudoja „Hadoop“ profesionalai iš ne „Java“ fono, yra „Flume“, „Sqoop“, „HBase“ ir „Oozie“.



Norėdami suprasti, kodėl jums nereikia „Java“, kad išmoktumėte „Hadoop“, patikrinkite šį tinklaraštį .

1Kiaulių istorija

Supraskime, kaip veikia šios funkcijos.

Mes visi žinome, kad programavimo žinios yra būtinos norint rašyti „MapReduce“ kodus. Bet ką daryti, jei turiu įrankį, galintį koduoti, jei pateikčiau tik išsamią informaciją? Štai kur Kiaulė demonstruoja savo raumenų galią. Pig naudoja platformą, vadinamą Pig Latin, kuri abstraktina programavimą iš „Java MapReduce“ idiomos į žymėjimą, kuris padaro „MapReduce“ programavimą aukštu lygiu, panašiu į SQL, skirtą RDBMS sistemoms. „Pig Latin MapReduce“ parašyti kodai automatiškai konvertuojami į lygiavertes „MapReduce“ funkcijas. Argi ne nuostabu? Kitas nerimą keliantis faktas yra tas, kad norint pakeisti 200 „Java“ linijų reikia tik 10 kiaulės eilučių.

10 „Pig“ eilučių = 200 „Java“ eilučių

Tai ne tik reiškia, kad ne „Java“ profesionalai naudoja „Hadoop“, bet ir liudija pabrėžtiną faktą, kad „Pig“ naudoja vienodas techninių kūrėjų skaičius.

Be to, jei norite parašyti savo „MapReduce“ kodą, galite tai padaryti bet kuria iš kalbų, pvz., „Perl“, „Python“, „Ruby“ ar „C.“. Kai kurios pagrindinės operacijos, kurias galime atlikti bet kuriame duomenų rinkinyje naudodami „Pig“, yra „Group“, „Join“, „Filter“ ir „Rūšiuoti“. . Šias operacijas galima atlikti su struktūrizuotais, nestruktūrizuotais ir pusiau struktūruotais duomenimis. Jie suteikia ad hoc būdą kurti ir vykdyti „MapReduce“ darbo vietas labai dideliuose duomenų rinkiniuose.

Toliau supraskime avilį. Tai yra atviro kodo, beta baitų apimties duomenų sandėliavimo sistema, pagrįsta „Hadoop“, skirta duomenų apibendrinimui, užklausoms ir analizei. „Hive“ suteikia „SQL“ tipo sąsają „Hadoop“. Galite naudoti „Hive“, kad galėtumėte skaityti ir rašyti failus „Hadoop“ ir paleisti ataskaitas iš BI įrankio. Keletas tipiškų „Hadoop“ funkcijų yra:

Leiskite man parodyti jums demonstracinę versiją, naudojant „Pig on Clickstream“ duomenų rinkinį
Mes naudosime šiuos „Clickstream“ duomenis ir atliksime transformacijas, prisijungimus ir grupavimą.

„ClickStream“ yra serija pelės paspaudimų, kuriuos atlieka vartotojas, prisijungdamas prie interneto, ypač stebimas siekiant įvertinti asmens interesus rinkodaros tikslais. Jį daugiausia naudoja internetinės mažmeninės prekybos svetainės, tokios kaip „Flipkart“ ir „Amazon“, kurios stebi jūsų veiklą, kad parengtų rekomendacijas. „Clickstream“ duomenų rinkinyje, kurį naudojome, yra šie laukai:

1. Žiniatinklio programos palaikomos kalbos tipas

2. Naršyklės tipas

3. Ryšio tipas

4. Šalies ID

5. Laiko antspaudas

6. URL

7. Vartotojo būsena

8. Vartotojo tipas

kaip sukurti susietą sąrašą c

Tai atrodys taip su atitinkamais laukais.

Žemiau pateikiamas naršyklių tipų, kuriuos naudojo įvairūs žmonės naršydami tam tikroje svetainėje, sąrašas. Tarp sąrašo yra tokios naršyklės kaip „Internet Explorer“, „Google Chrome“, „Lynx“ ir pan.

Interneto ryšio tipas gali būti LAN / Modemas / Wifi. Norėdami pamatyti visą sąrašą, žiūrėkite toliau pateiktą paveikslėlį:

Kitame paveikslėlyje rasite šalių, iš kurių svetainė pritraukė auditoriją, sąrašą kartu su jų asmens tapatybės dokumentais.

Surinkę visus duomenų rinkinius, turime paleisti „Pig’s Grunt“ apvalkalą, kuris paleidžiamas norint vykdyti „Pig“ komandas.

Pirmas dalykas, kurį turime padaryti paleidę „Grunt“ apvalkalą, yra įkelti „Clickstream“ duomenis į „Pig“ ryšį. Santykis yra ne kas kita, kaip lentelė. Žemiau yra komanda, kurią naudojame įkeliant failą, esantį HDFS, į Pigo ryšį.

Ryšio schemą galime patikrinti naudodami komandą apibūdinti click_stream.

Dabar turime pridėti nuorodų failus, kuriuose bus išsami informacija apie šalių sąrašą su jų ID ir skirtingais naršyklės tipais bei jų ID.

Dabar mes turime dvi nuorodų bylas, tačiau jas reikia sujungti, kad susidarytume santykį.
Norėdami nurodyti ryšio tipą, vykdome komandą connection_ref.

Dabar, kai mes turime veikiantį ryšį ir užmegztą ryšį, mes jums parodysime, kaip galime tuos duomenis transformuoti.
Kiekvienam įrašui „Clickstream“ sugeneruosime naują įrašą kitu formatu, t. Y. Transformuotus duomenis. Naujame formate bus tokie laukai kaip „TimeStamp“, „Naršyklės tipas“, „Country ID“ ir dar keli.

Mes galime atlikti filtro operaciją, kad sumažintume didelius duomenis. Skirtingi naudotojų tipai yra administratoriai, svečiai ar robotai. Mūsų demonstraciniame puslapyje aš filtravau svečių sąrašą.

Jei prisimenate, „Clickstream“ yra šalies ID ir mes įkėlėme failą „country_ref“, kuriame yra šalių pavadinimai kartu su jo ID. Taigi galime atlikti „Join“ operaciją tarp dviejų failų ir sujungti duomenis, kad gautume įžvalgų.

Jei sujungėme duomenis, tada grupuodami galime sužinoti skirtingas šalis, kuriose yra vartotojai. Turėdami šiuos duomenis, galime atlikti skaičiavimo operaciją, kad nustatytume naudotojų iš tam tikros šalies skaičių.

Iš „Big Data“ įgyti įžvalgų nėra raketų mokslas. Tai tik keletas iš daugybės mano įdiegtų funkcijų, o naudojant tokius įrankius kaip „Hive“, „Hbase“, „Oozie“, „Sqoop“ ir „Flume“ dar reikia ištirti duomenų lobį. Taigi tie iš jūsų, kurie save sulaiko nuo Hadoopo mokymosi, laikas keistis.

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

Susijusios žinutės:

4 būdai, kaip kartu naudoti R ir Hadoop

Viskas apie „Cloudera“ sertifikuotą „Apache Hadoop“ kūrėją