tisdag 24 februari 2015

Kom igång med Hadoop - TechWorld

Kom igång med Hadoop - TechWorld



Hadoop är det viktigaste verktyget för att hantera all möjliga
sorters big data-analyser, och det är inte särskilt svårt att lära sig.
TechWorlds expert går igenom grunderna - häng med!




Här kommer vi att arbeta med
Hortonworks Sandbox version 2.2, en komplett Hadoop-installation i en
och samma virtuella maskin. Flera andra stora leverantörer har liknande
prova på-erbjudanden med sina respektive Hadoop-distributioner.


Det här är ett enkelt och smidigt
sätt att lära sig Hadoop på, eller att använda i enkla funktionstester
medan man utvecklar program, då den kan köras på en vanlig
arbetsstation. Däremot är en sådan här ”sandlåda” inget man ska använda
för tunga beräkningar. Då krävs en skalbar konfiguration som kan byggas
ut till ett kluster.


Hadoop utvecklas i rask takt. När du
söker efter dokumentation, guider och exempel på internet behöver du
vara uppmärksam på när de skrevs – två år gamla texter är redan helt
föråldrade i dag.

 


Övningsfiler

... finns att ladda ned på tinytw.se/hadoop2 (lösen: hadoop)
 

Steg 1 -  Hämta mjuk­vara och starta

Sandbox kan man ladda ned från Hortonworks webbplats utan kostnad. Den
finns i varianter förberedda för att köras i VMware, Hyper-V och
Virtualbox, och här kommer vi att använda den sistnämnda. En dator med
virtualiseringsmjukvaran behövs naturligtvis, och tänk på att
minneskravet är ganska brutalt: minst fyra gigabyte, annars startar inte
ens alla tjänster.

Importen från den nedladdade avbildningen till en körbar virtuell maskin
är enklast i Virtualbox, där standardkonfigurationerna för minne,
nätverk och lagring väljs automatiskt från avbildningen.


Därefter är det bara att starta den
virtuella maskinen som kör en komplett Hadoop 2-stack i en och samma
server. Den tar några minuter att boota.



...

Steg 1: I
botten körs CentOS 6, en gratisklon av Red Hat Enterprise Linux. Men
var lugn, man behöver inte vara någon Linuxguru för att komma igång med
Hadoop.


 


Steg 2 -  Logga in och titta runt

På den virtuella maskinens konsol ser du ett meddelande om att du ska
öppna en webbläsare i värddatorns operativsystem och logga in på en
adress. Om du kör Virtualbox är det localhost:8888 som gäller – lite
konstigt kanske du tycker, men det har konfigurerats ett antal
nat-regler som dirigerar om webbläsarens anrop till den virtuella
maskinen.


Sidan vi kommer till är en enkel
startsida med länkar till dokumentation och olika självstudier. Längst
till höger finns en länk till Hue, det viktigaste
administrationsgränssnittet för Hadoop, som ligger på adressen
127.0.0.1:8000.


Trots, eller kanske tack vare, att
Hue inte ger full kontroll över detaljerna är det praktiskt att använda.
Här hittar vi filsystemet HDFS där vi lagrar och administrerar filer
och Hive, motorn som ger oss möjlighet att använda sql för att söka i
informationen som vi har laddat upp.


En webbaserad textredigerare för
skriptspråket Pig finns också, där vi kan skriva lite mer komplexa
analysprogram direkt i Hadoop. Den här enkla Pig-editorn är nyttig
åtminstone i experiment och förstudier av Hadoop-analyser – vi kommer
att jobba med den i de här övningarna.


Även under fliken Job Designer kan
man definiera olika uppgifter som ska automatiseras, fast på en mycket
mer grovkornig nivå. I stället för program eller skript lägger man upp
olika rutinartade uppgifter här, som att importera någon fil, starta ett
Javaprogram för att analysera data eller skicka en rapport via e-post.


Under knappen Oozie editor i fliken
Workflows kan vi sedan knyta ihop dessa rutinjobb till en sammanhängande
process. Det är nyttigt i skarp drift, där en och samma analys görs med
jämna mellanrum. Oozie visar också historiken över olika jobb som har
körts, loggarna från dem och vad de resulterade i.

Slutligen ska vi inte glömma bort det lilla frågetecknet längst till
höger på toppmenyn. Hjälpsidorna som finns här är nyttiga och relevanta.
Dessutom är de uppdaterade för just den här versionen av Sandbox, så de
är ett bra första stopp när man kör fast eller vill lära sig mer om en
funktion i Hue-gränssnittet.


steg 2

Steg 2: Längst upp hittar du ett antal ikoner för att nå olika Hadoop-komponenter som man kan kontrollera via gui:t.

 

Steg 3 - Ladda upp exempeldata

För att prova funktionerna i Hadoop behöver vi data att arbeta med. I
övningsuppgifterna som Hortonworks har skrivit finns länkar till
textfiler med exempeldata, bland annat 44 miljoner rader med aktiekurser
från New York-börsen. Det går självklart också bra att använda ett
verktyg som genererar tabeller, till exempel siten www.mockaroo.com.


I Hadoop arbetar man gärna med
textfiler. I våra övningar kommer vi att använda en mycket kort
kommaseparerad tabell över löneutvecklingen för manliga och kvinnliga
tjänstemän inom industrin, som vi har hämtat från svenska Statistiska
Centralbyrån. 60 rader med fyra kolumner i varje är knappast big data,
men duger som övningsexempel.


Det är ingen slump att filens
kolumner har engelska rubriker, utan det beror på att webbgränssnittet
Hue har en del attitydproblem med svenska tecken. De går att använda i
namn och värden, men kräver en del pillrande för hand. På samma sätt kan
apostrofer och andra specialtecken få Hadoop att spotta ur sig
felmeddelanden, så det gäller att välja alla kolumnnamn med omsorg.


Filen behöver vi ladda upp till HDFS
för att Hadoop ska kunna använda informationen. Klicka på HDFS-ikonen,
välj Upload files och välj din datafil.

Sedan klickar vi oss via ikonen precis till vänster om HDFS, för att
komma till Hcatalog. Här skapar vi en ny tabell från vår nyss uppladdade
fil, anger vilka olika kolumner som finns, vad de ska få för namn,
datatyp och andra uppgifter om hur data är kodat i filen. Om vi har
laddat upp en komma- eller tabbseparerad textfil med kolumnnamnen på den
första raden, kommer Hcatalog att själv räkna ut hur allt är kodat.


Vi har nu fått fram det som kallas
för ”tabell” i Hadoop, det vill säga en textfil i filsystemet HDFS med
den egentliga informationen och lite metadata i en intern databas om vad
filen innehåller. Nu är det möjligt att använda datamängden i andra
verktyg, till exempel Hive.



......

 

Inga kommentarer:

Skicka en kommentar