Innehållsförteckning:
- Hur fick Hadoop sin början?
- Vad är så viktigt med Hadoop?
- Vad läses schema på?
- Vad är Hive?
- Vilken typ av data analyserar Hadoop?
- Kan du ge ett verkligt exempel på Hadoop?
- Är Hadoop redan föråldrad eller bara förändras?
Vad är Hadoop? Det är en gul leksakselefant. Inte vad du väntade dig? Vad sägs om detta: Doug Cutting - medskapare av detta program med öppen källkod - lånade namnet från sin son som råkade ringa sin leksakselef Hadoop. Sammanfattningsvis är Hadoop ett programramverk utvecklat av Apache Software Foundation som används för att utveckla datakrävande, distribuerad databehandling. Och det är en nyckelkomponent i ett annat buzzwordläsare kan aldrig tyckas få tillräckligt med: big data. Här är sju saker du bör veta om denna unika, fritt licensierade programvara.
Hur fick Hadoop sin början?
För tolv år sedan byggde Google en plattform för att manipulera de enorma mängder data den samlade in. Som företaget ofta gör, gjorde Google sin design tillgänglig för allmänheten i form av två papper: Google File System och MapReduce.
Samtidigt arbetade Doug Cutting och Mike Cafarella på Nutch, en ny sökmotor. De två kämpade också med hur de skulle hantera stora mängder data. Sedan fick de två forskarna blicken på Googles tidningar. Det lyckliga korsningen förändrade allt genom att introducera Cutting och Cafarella till ett bättre filsystem och ett sätt att hålla reda på data, vilket så småningom ledde till skapandet av Hadoop.
Vad är så viktigt med Hadoop?
Idag är det lättare än någonsin att samla in data. Att ha all denna information ger många möjligheter, men det finns också utmaningar:- Stora mängder data kräver nya metoder för behandling.
- Uppgifterna som fångas är i ett ostrukturerat format.
Därefter var de tvungna att hantera ostrukturerad data eller data i format som vanliga relationsdatabassystem inte kunde hantera. Cutting och Cafarella designade Hadoop för att arbeta med alla typer av data: strukturerade, ostrukturerade, bilder, ljudfiler, även text. Denna vitbok från Cloudera (Hadoop integrator) förklarar varför detta är viktigt:
-
"Genom att göra alla dina data användbara, inte bara vad som finns i dina databaser, ger Hadoop dig möjlighet att avslöja dolda relationer och avslöjar svar som alltid har varit utom räckhåll. Du kan börja fatta fler beslut baserade på hård data, istället för mänsklighet, och titta vid kompletta datamängder, inte bara prover och sammanfattningar. "
Vad läses schema på?
Som nämnts tidigare är en av fördelarna med Hadoop dess förmåga att hantera ostrukturerad data. På ett sätt är det "att sparka burk på vägen." Så småningom behöver uppgifterna någon form av struktur för att analysera den.
Det är där schemat på läs kommer in. Schema vid avläsning är sammansmältningen av vilket format data finns i, var man hittar data (kom ihåg att uppgifterna är spridda bland flera servrar), och vad som ska göras för data - inte en enkel uppgift. Det har sagts att att manipulera data i ett Hadoop-system kräver färdigheter hos en affärsanalytiker, en statistiker och en Java-programmerare. Tyvärr finns det inte många med dessa kvalifikationer.
Vad är Hive?
Om Hadoop skulle lyckas måste arbetet med uppgifterna förenklas. Så öppna publiken började arbeta och skapade Hive:-
"Hive tillhandahåller en mekanism för att projicera strukturen på denna data och fråga informationen med ett SQL-liknande språk som heter HiveQL. Samtidigt tillåter detta språk också traditionella kart / reducerar programmerare att ansluta sina anpassade kartläggare och reducatorer när det är obekvämt eller ineffektivt för att uttrycka denna logik i HiveQL. "
Hive möjliggör det bästa av båda världar: databaspersonal som är bekant med SQL-kommandon kan manipulera data, och utvecklare som är bekanta med schemat på läsprocessen kan fortfarande skapa anpassade frågor.
Vilken typ av data analyserar Hadoop?
Webanalys är det första som kommer att tänka på, analysera webbloggar och webbtrafik för att optimera webbplatser. Facebook, till exempel, är definitivt i webbanalys, använder Hadoop för att sortera genom de terabyte data som företaget samlar in.
Företag använder Hadoop-kluster för att utföra riskanalys, bedrägeri upptäckt och kundbas-segmentering. Nätverksföretag använder Hadoop för att analysera sensordata från deras elnät, vilket gör att de kan optimera elproduktionen. Ett större företag som Target, 3M och Medtronics använder Hadoop för att optimera produktdistribution, bedömningar av affärsrisker och kundbas-segmentering.
Universitet investeras också i Hadoop. Brad Rubin, docent vid University of St. Thomas Graduate Program in Software, nämnde att hans Hadoop-expertis hjälper till att sortera de stora mängder data som sammanställts av forskargrupper vid universitetet.
Kan du ge ett verkligt exempel på Hadoop?
Ett av de mer kända exemplen är TimesMachine. New York Times har en samling av helsides TIFF-bilder på tidningar, tillhörande metadata och artikeltext från 1851 till 1922, vilket motsvarar terabyte data. Derek Gottfrid från NYT använder ett EC2 / S3 / Hadoop-system och specialkod:-
"Inlagda 405 000 mycket stora TIFF-bilder, 3, 3 miljoner artiklar i SGML och 405 000 xml-filer som kartlägger artiklar till rektangulära regioner i TIFF. Dessa data konverterades till en mer webbvänlig 810 000 PNG-bilder (miniatyrbilder och fullständiga bilder) och 405 000 JavaScript-filer. "
Genom att använda servrar i Amazon Web Services-molnet nämnde Gottfrid att de kunde bearbeta all information som krävs för TimesMachine på mindre än 36 timmar.
Är Hadoop redan föråldrad eller bara förändras?
Hadoop har funnits i över ett decennium nu. Det har många som säger att det är föråldrat. En expert, Dr. David Rico, har sagt att "IT-produkter är kortlivade. Under hundår är Googles produkter cirka 70, medan Hadoop är 56."
Det kan finnas en del sanning vad Rico säger. Det verkar som att Hadoop genomgår en större översyn. För att lära sig mer om det bjöd Rubin mig till ett Twin Group Hadoop User Group-möte, och ämnet för diskussionen var Introduktion till YARN:
-
"Apache Hadoop 2 inkluderar en ny MapReduce-motor, som har ett antal fördelar jämfört med föregående implementering, inklusive bättre skalbarhet och resursanvändning. Den nya implementeringen bygger på ett allmänt resurshanteringssystem för att köra distribuerade applikationer som kallas YARN."