Syvä sukellus sikaan



Tämä blogikirjoitus on syvällinen sukellus Possuun ja sen toimintoihin. Löydät esittelyn siitä, miten voit työskennellä Hadoopin kanssa Pigin avulla ilman Java-riippuvuutta.

Yksi suurimmista syistä, miksi Hadoopin suosio nousi taivaalle viime aikoina, on se, että Pigin ja Hiveen kaltaiset ominaisuudet juoksevat sen päälle, mikä sallii muiden kuin ohjelmoijien toiminnallisuuden, joka aiemmin oli yksinomaan Java-ohjelmoijille. Nämä ominaisuudet olivat seurausta Hadoop-ammattilaisten kasvavasta kysynnästä. Muita ominaisuuksia, joita Hadoop-ammattilaiset käyttävät muusta kuin Java-taustasta, ovat Flume, Sqoop, HBase ja Oozie.





Tarkista, miksi et tarvitse Java-opetusta Hadoopin oppimiseksi tämä blogi .

1Sikahistoria



Ymmärretään, miten nämä ominaisuudet toimivat.

Me kaikki tiedämme, että ohjelmointitieto on välttämätöntä MapReduce-koodien kirjoittamiseksi. Mutta entä jos minulla on työkalu, joka voi tehdä koodauksen, jos annan vain yksityiskohdat? Siellä Sika osoittaa lihasvoimansa. Pig käyttää Pig Latin -alustaa, joka poimii ohjelmoinnin Java MapReduce -idiosta merkinnäksi, joka tekee MapReduce-ohjelmoinnista korkean tason, samanlainen kuin SQL for RDBMS -järjestelmissä. Pig Latin MapReduce -laitteella kirjoitetut koodit muunnetaan automaattisesti vastaaviksi MapReduce-funktioksi. Eikö se ole mahtavaa? Toinen mielenkiintoista tosiasia on, että 200 Java-rivin korvaamiseen tarvitaan vain 10 sian riviä.



10 riviä sika = 200 riviä Java

Tämä ei tarkoita vain sitä, että muut kuin Java-ammattilaiset käyttävät Hadoopia, vaan se todistaa myös sen, että Pigia käyttää yhtä monta teknistä kehittäjää.

Lisäksi, jos haluat kirjoittaa oman MapReduce-koodisi, voit tehdä sen millä tahansa kielellä, kuten Perl, Python, Ruby tai C. Jotkut perustoiminnot, jotka voimme suorittaa mille tahansa tietojoukolle Pigin avulla, ovat ryhmä, liittyminen, suodatin ja lajittelu . Nämä toiminnot voidaan suorittaa strukturoidulla, strukturoimattomalla ja myös osittain strukturoidulla datalla. Ne tarjoavat tapauskohtaisen tavan luoda ja suorittaa MapReduce-työpaikkoja erittäin suurille tietojoukoille.

Seuraavaksi ymmärretään Hive. Se on avoimen lähdekoodin peta-tavuinen tietovarastointikehys, joka perustuu Hadoopiin tietojen yhteenvetoon, kyselyyn ja analyysiin. Hive tarjoaa SQL-tyyppisen käyttöliittymän Hadoopille. Voit käyttää Hiveä tiedostojen lukemiseen ja kirjoittamiseen Hadoopissa ja raporttien suorittamiseen BI-työkalulla. Joitakin tyypillisiä Hadoopin toimintoja ovat:

Haluan näyttää sinulle demon käyttämällä Pig on Clickstream -tietojoukkoa
Käytämme näitä Clickstream-tietoja ja suoritamme muunnoksia, liittymisiä ja ryhmittelyjä.

ClickStream on sarja käyttäjän tekemiä hiiren napsautuksia Internetin käytön aikana, erityisesti seurattuna henkilön kiinnostuksen arvioimiseksi markkinointitarkoituksiin. Sitä käyttävät pääasiassa verkkokaupan verkkosivustot, kuten Flipkart ja Amazon, jotka seuraavat toimintaasi suositusten luomiseksi. Olemme käyttäneet Clickstream-tietojoukkoa seuraavilla kentillä:

1. Verkkosovelluksen tukema kielityyppi

2. Selaimen tyyppi

3. Yhteystyyppi

4. Maatunnus

5. Aikaleima

6. URL-osoite

7. Käyttäjän tila

8. Käyttäjän tyyppi

Se näyttää tältä sopivilla kentillä.

Alla on luettelo selaintyypeistä, joita monet ihmiset ovat käyttäneet selatessaan tietyllä verkkosivustolla. Luettelossa on selaimet, kuten Internet Explorer, Google Chrome, Lynx ja niin edelleen.

Internet-yhteyden tyyppi voi olla LAN / Modeemi / Wifi. Katso alla oleva kuva täydellisestä luettelosta:

Seuraavasta kuvasta löydät luettelon maista, joista verkkosivusto on houkutellut yleisöä, sekä henkilötodistuksensa.

Kun olemme keränneet kaikki tietojoukot, meidän on käynnistettävä Pig's Grunt -kuori, joka käynnistetään Pig-komentojen suorittamiseksi.

Ensimmäinen asia, joka meidän on tehtävä käynnistettäessä Grunt-kuori, on ladata Clickstream-tiedot Pigin suhteeseen. Suhde ei ole muuta kuin taulukko. Alla on komento, jota käytämme HDFS-tiedostossa olevan tiedoston lataamiseen Pigin suhteeseen.

Voimme tarkistaa relaation kaavan komennolla kuvaa click_stream.

aktiiviset ja passiiviset transformaatiot informatiikassa

Meidän on nyt lisättävä viitetiedostot, jotka sisältävät tietoja maiden luettelosta ja niiden selaintyypeistä sekä heidän tunnuksistaan.

Meillä on nyt kaksi viitetiedostoa, mutta ne on yhdistettävä muodostamaan suhde.
Suoritamme connection_ref -komennon osoittamaan yhteyden tyypin.

Nyt kun meillä on toimiva yhteys ja vakiintunut suhde, näytämme sinulle, kuinka voimme muuttaa nämä tiedot.
Jokaiselle Clickstream-tietueelle luomme uuden tietueen eri muodossa, ts. Muunnetut tiedot. Uusi muoto sisältää kentät, kuten TimeStamp, Selaimen tyyppi, Maatunnukset ja muutaman muun.

Voimme suorittaa suodatintoiminnon leikata Big Data. Eri käyttäjätyypit ovat Järjestelmänvalvojat, Vieraat tai Botit. Esittelyssä olen suodattanut luettelon vieraille.

Jos muistat, maatunnus on mukana Clickstreamissa ja ladasimme country_ref-tiedoston, joka sisälsi maiden nimet ja sen tunnukset. Voimme siten suorittaa kahden tiedoston välisen Join-operaation ja yhdistää tiedot oivallusten saamiseksi.

Jos olemme liittäneet tiedot, voimme selvittää eri maat, joissa käyttäjät ovat, ryhmittelemällä. Kun meillä on nämä tiedot, voimme suorittaa laskutoiminnon tunnistaaksesi tietyn maan käyttäjien määrän.

Ei ole rakettitiedettä saada oivalluksia Big Dataista. Nämä ovat vain muutamia monista ominaisuuksista, jotka olen ottanut käyttöön, ja työkaluilla, kuten Hive, Hbase, Oozie, Sqoop ja Flume, on vielä aarre tiedoista, joita ei ole vielä tutkittu. Joten teistä, jotka pidättelet itsesi oppimasta Hadoopia, on aika muuttua.

Onko sinulla kysymys meille? Mainitse ne kommenttiosassa ja palaamme sinuun.

Aiheeseen liittyvät julkaisut:

4 tapaa käyttää R: tä ja Hadoopia yhdessä

Kaikki Cloudera-sertifioidusta kehittäjästä Apache Hadoopille