Hadoop
Wat is het en waarom is het belangrijk
Hadoop is een open-source softwareframework dat wordt gebruikt voor het opslaan van gegevens en het uitvoeren van applicaties op clusters van standaardhardware. Het systeem beschikt over een enorme opslagcapaciteit voor alle soorten gegevens, krachtige verwerkingsmogelijkheden en de capaciteit om vrijwel onbeperkt gelijktijdige taken of opdrachten uit te voeren.
Geschiedenis van Hadoop
Toen het World Wide Web zich eind jaren 90 en begin 2000 ontwikkelde, werden zoekmachines en indexen ontwikkeld om relevante informatie te vinden binnen de tekstgebaseerde inhoud. In de beginjaren werden zoekresultaten handmatig door mensen samengesteld. Maar naarmate het web groeide van honderden naar miljoenen pagina's, ontstond er een dringende behoefte aan automatisering. Webcrawlers werden ontwikkeld, vaak als onderzoeksprojecten aan universiteiten, terwijl zoekmachine-start-ups zoals Yahoo en AltaVista een enorme groei doormaakten.
Een van deze projecten was Nutch, een open-source webzoekmachine bedacht door Doug Cutting en Mike Cafarella. Ze wilden de snelheid van zoekresultaten op het web verbeteren door data en berekeningen te verspreiden over meerdere computers, zodat verschillende taken tegelijkertijd konden worden uitgevoerd. In die periode werd er ook gewerkt aan een ander zoekmachineproject: Google. Het was gebaseerd op hetzelfde concept: het opslaan en verwerken van gegevens op een gedistribueerde en geautomatiseerde manier, zodat relevante zoekresultaten sneller konden worden geleverd.
In 2006 trad Cutting in dienst bij Yahoo, waar hij het Nutch-project integreerde en ideeën ontwikkelde die voortborduurden op de vroege inspanningen van Google om gedistribueerde dataopslag en -verwerking te automatiseren. Het Nutch-project werd gesplitst: het webcrawler-gedeelte behield de naam Nutch, terwijl het deel voor gedistribueerde computing en verwerking verderging als Hadoop, genoemd naar de knuffelolifant van de zoon van Cutting. In 2008 bracht Yahoo Hadoop uit als een open-sourceproject. Tegenwoordig worden het Hadoop-framework en het bijbehorende ecosysteem van technologieën beheerd en onderhouden door de Apache Software Foundation (ASF), een non-profitorganisatie en wereldwijde gemeenschap van softwareontwikkelaars en bijdragers.
Waarom is Hadoop belangrijk?
- Het kan razendsnel grote hoeveelheden gegevens van uiteenlopende aard opslaan en verwerken. Door de constante groei in zowel de hoeveelheid als de diversiteit van data, met name door sociale media en het Internet of Things (IoT), is het een cruciale factor om rekening mee te houden.
- Rekenkracht. Het gedistribueerde computermodel van Hadoop verwerkt grote hoeveelheden gegevens met indrukwekkende snelheid. Hoe meer computing nodes je gebruikt, hoe meer verwerkingskracht je hebt.
- Fouttolerantie. Data en applicatieverwerking worden beschermd tegen hardwarestoringen. Wanneer een node uitvalt, worden de taken automatisch overgedragen aan andere nodes, zodat het gedistribueerde computergebruik ononderbroken blijft. Er worden automatisch meerdere kopieën van alle data opgeslagen.
- Flexibiliteit. In tegenstelling tot traditionele relationele databases hoef je gegevens niet te bewerken voordat je ze opslaat. Je kunt onbeperkt gegevens opslaan en later bepalen hoe je ze wilt gebruiken. Dit geldt eveneens voor ongestructureerde data, zoals tekst, afbeeldingen en video's.
- Lage kosten. Het open-source framework is kosteloos en maakt gebruik van standaard hardware om grote hoeveelheden gegevens op te slaan.
- Schaalbaarheid. Je kunt je systeem gemakkelijk uitbreiden om meer data te verwerken door eenvoudig extra nodes toe te voegen. Er weinig administratie vereist.
Wat zijn de knelpunten van Hadoop?
MapReduce-programmering is niet voor alle problemen de juiste oplossing.Het is geschikt voor eenvoudige informatieverzoeken en problemen die in afzonderlijke eenheden kunnen worden opgesplitst, maar is minder effectief voor iteratieve en interactieve analytische taken. MapReduce is bestandsintensief. Omdat de nodes alleen via sorteren en shuffles met elkaar communiceren, vereisen iteratieve algoritmen meerdere fasen van map-shuffle/sort-reduce om voltooid te worden. Dit genereert meerdere bestanden tussen de verschillende MapReduce-fasen, wat inefficiënt is voor complexe analytische berekeningen.
Er is een algemeen erkend tekort aan talent. Het kan uitdagend zijn om startende programmeurs te vinden die over voldoende Java-vaardigheden beschikken om effectief met MapReduce te werken. Dat is een van de redenen waarom distributieleveranciers haast maken om relationele SQL-technologie in Hadoop te integreren. Het is veel gemakkelijker om programmeurs met SQL-vaardigheden te vinden dan met MapReduce-vaardigheden. De Hadoop-administratie is bovendien erg gecompliceerd, waarbij een basiskennis van besturingssystemen, hardware en Hadoop-kernelinstellingen essentieel is.
Gegevensbeveiliging. Een andere uitdaging is de gefragmenteerde databescherming, ondanks de opkomst van nieuwe tools en technologieën. Het Kerberos-authenticatieprotocol vormt een belangrijke vooruitgang in de beveiliging van Hadoop-omgevingen.
Volledige controle en beheer van gegevens. Hadoop beschikt nog niet over gebruiksvriendelijke en complete tools voor gegevensbeheer, gegevensopschoning, governance en metadata. Er ontbreken voornamelijk tools voor datakwaliteit en standaardisatie.
Leuk weetje: “Hadoop” was de naam van een gele olifantknuffel van de zoon van een van de uitvinders.
Hadoop in de wereld van vandaag
De belofte van hoge opslag- en verwerkingscapaciteit tegen lage kosten en met uitstekende beschikbaarheid heeft veel bedrijven aangetrokken tot Hadoop. Toch blijft voor velen een centrale vraag bestaan: Hoe kan Hadoop ons helpen met big data en analytics?Lees hier meer!
Uitgebreid rapport: Hadoop binnen de onderneming
Dit uitgebreide 40 pagina’s tellende Best Practices-rapport van TDWI beschrijft hoe Hadoop en zijn implementaties zich ontwikkelen om zakelijke toepassingen te ondersteunen die verder gaan dan alleen nichetoepassingen.
Van lelijk eendje tot zwaan
Zo presenteert de Bloor Group het Hadoop-ecosysteem in dit rapport, waarin de evolutie en toepassingsmogelijkheden van Hadoop worden onderzocht. Het bevat een uitgebreide geschiedenis en praktische tips voor het kiezen van een distributie die bij jouw behoeften past.
Overzicht van SAS en Hadoop
Maak kennis met de concepten van Hadoop en SAS, zodat je de technologie kunt begrijpen en toepassen die het beste aansluit bij jouw behoeften. Raadpleeg deze pagina voor meer details over de samenwerking tussen SAS-technologie en Hadoop.
Gegevensbeheer voor Hadoop
Er is veel vraag naar ervaring met big data. Zakelijke gebruikers kunnen nu data profileren, transformeren en opschonen – op Hadoop of ergens anders – met behulp van een intuïtieve gebruikersinterface.
Ontdek meer over Hadoop gegevensbeheer van SAS
Hoe wordt Hadoop gebruikt?
Veel organisaties streven tegenwoordig naar meer dan alleen het oorspronkelijke doel van het doorzoeken van miljoenen (of miljarden) webpagina's en het teruggeven van relevante resultaten, en kijken nu naar Hadoop als hun nieuwe big data-platform. Enkele veelvoorkomende toepassingen zijn:
Kostenefficiënte opslag en gegevensarchivering
De relatief lage kosten van standaard hardware maken Hadoop ideaal voor het opslaan en combineren van diverse soorten data, zoals transactiegegevens, sociale media, sensorgegevens, machine-informatie, wetenschappelijke data, klikstromen, en meer. Met de goedkope opslag kun je gegevens bewaren die op dit moment niet essentieel zijn, maar die je mogelijk later wilt analyseren.
Sandbox voor verkennen en analyseren
Omdat Hadoop is ontworpen om grote hoeveelheden data in diverse vormen te verwerken, is het in staat om analytische algoritmen uit te voeren. Met big data-analyse op Hadoop kan jouw organisatie efficiënter opereren, nieuwe kansen ontdekken en een sterker concurrentievoordeel behalen. De sandbox-aanpak biedt de mogelijkheid om te innoveren met beperkte investeringen.
Data lake
Data lakes maken het mogelijk om gegevens op te slaan in hun oorspronkelijke of onveranderde vorm. Het doel is om ruwe, onbewerkte data beschikbaar te stellen aan datawetenschappers en analisten voor onderzoek en analyse. Het geeft hen de vrijheid om nieuwe of complexe vragen te stellen zonder enige beperkingen. Data lakes zijn geen vervanging voor datawarehouses. Het beveiligen en beheren van data lakes is een cruciale uitdaging voor de IT-afdeling. Hiervoor kunnen ze datafederatietechnieken toepassen om een logische datastructuur op te zetten.
Vul je datawarehouse aan
Hadoop wordt nu vaak naast datawarehouse-omgevingen ingezet. Hierbij worden sommige datasets verplaatst van het datawarehouse naar Hadoop, terwijl nieuwe datatypes rechtstreeks in Hadoop worden opgeslagen. Het uiteindelijke doel van elke organisatie is het beschikken over een geschikt platform voor het opslaan en verwerken van gegevens in uiteenlopende schema's en formaten. Dit platform moet diverse use cases ondersteunen en integratie op verschillende niveaus mogelijk maken.
IoT en Hadoop
Objecten in het IoT moeten weten wat ze moeten communiceren en hoe ze moeten reageren. De essentie van het IoT ligt in een constante datastroom. Hadoop wordt vaak ingezet als opslagoplossing voor miljoenen tot zelfs miljarden transacties. Dankzij de uitgebreide opslag- en verwerkingscapaciteiten kan Hadoop ook dienen als een sandbox om patronen te ontdekken en te definiëren die gecontroleerd moeten worden voor prescriptieve instructies. Je kunt deze instructies continu blijven verbeteren, omdat Hadoop voortdurend wordt bijgewerkt met nieuwe data die niet overeenkomt met eerder gedefinieerde patronen.
Een aanbevelingssysteem ontwikkelen met Hadoop
Een van de meest gebruikte analytische toepassingen onder de grootste Hadoop-gebruikers is het ontwikkelen van webgebaseerde aanbevelingssystemen. Facebook – mensen die je misschien kent. LinkedIn – banen waarin je misschien geïnteresseerd bent. Netflix, eBay, Hulu - producten die je misschien wilt hebben. Deze systemen analyseren in real time enorme hoeveelheden data om snel voorkeuren te voorspellen voordat klanten de webpagina verlaten.
Hoe: Een aanbevelingssysteem kan een gebruikersprofiel op twee manieren genereren: expliciet, door de gebruiker zelf informatie te laten verstrekken, of impliciet, door het gedrag van de gebruiker te observeren. Dit profiel wordt vervolgens vergeleken met referentiekenmerken (observaties van de bredere gebruikersgemeenschap) om relevante aanbevelingen te doen. SAS biedt diverse technieken en algoritmen voor het ontwikkelen van een aanbevelingssysteem, variërend van eenvoudige afstandsmetingen tot matrixfactorisatie en collaboratief filteren, die allemaal uitgevoerd kunnen worden binnen Hadoop.
Ik ben ervan overtuigd dat Hadoop zo is ontwikkeld dat het mogelijk is om met succes grote en complexe toepassingen op het platform te creëren. Hadoop voldoet aan onze schaalbaarheidsvereisten voor het verwerken van grote en gevarieerde soorten data.
Bob Zurek, Senior Vice President of Products bij Epsilon in Hadoop for the Enterprise, een TDWI Best Practices-rapport
Hadoop, analytics en de data scientist**Hadoop, Analytics en de Datawetenschapper
Hou je van coderen? Dan zul je dit fantastisch vinden. Een all-in-one, interactieve omgeving geeft je alles wat je nodig hebt om nauwkeurige inzichten te krijgen uit gegevens in Hadoop;En dat allemaal razendsnel.
Ontdek meer over SAS analytics op Hadoop
Een uitleg over hoe het werkt en een Hadoop-woordenlijst
Momenteel omvat het basisframework van de Apache Foundation vier kernmodules:
Hadoop Common – de bibliotheken en hulpprogramma's die door andere Hadoop-modules worden gebruikt.
Hadoop Distributed File System (HDFS) – het op Java gebaseerde en schaalbare systeem dat data opslaat op meerdere machines zonder deze vooraf te structureren.
YARN – (Yet Another Resource Negotiator) biedt resourcebeheer voor de processen die op Hadoop draaien.
MapReduce – een softwareframework voor parallelle verwerking. Dit omvat twee stappen. De map-stap is een masternode die invoer ontvangt, deze opsplitst in kleinere subproblemen en de subproblemen vervolgens verdeelt over worker-nodes. Nadat de map-stap is uitgevoerd, verzamelt de master node de antwoorden van alle subproblemen en combineert deze om de output te genereren.
Enkele andere softwarecomponenten die bovenop of naast Hadoop kunnen draaien en de hoogste status van een Apache-project hebben bereikt, zijn:
Ambari | Deze webinterface is ontworpen voor het beheren, configureren en testen van Hadoop-diensten en -componenten. |
Cassandra | Een gedistribueerd databasesysteem. |
Flume | Een software die grote hoeveelheden streamingdata verzamelt, samenvoegt en naar HDFS verplaatst. |
HBase | Een niet-relationele, gedistribueerde database die bovenop Hadoop draait. HBase-tabellen kunnen worden gebruikt als invoer- en uitvoerbron voor MapReduce-taken. |
HCatalog | Een laag voor tabel- en opslagbeheer die gebruikers ondersteunt bij het delen en benaderen van gegevens. |
Hive | Een querytaal die vergelijkbaar is met SQL en gebruikt wordt voor datawarehousing, waarbij de data wordt gepresenteerd in de vorm van tabellen. Programmeren met Hive lijkt op databaseprogrammering. |
Oozie | Een Hadoop-taakplanner. |
Pig | Dit is een platform voor het bewerken van gegevens die zijn opgeslagen in HDFS, inclusief een compiler voor MapReduce-programma's en een geavanceerde taal genaamd Pig Latin. Het biedt een manier om data-extracties, transformaties en het laden, evenals basisanalyses uit te voeren zonder dat er MapReduce-programma's geschreven hoeven te worden. |
Solr | Deze schaalbare zoektool bevat functies zoals indexering, betrouwbaarheid, centrale configuratie, failover en herstel. |
Spark | Een open-source framework voor clustercomputing met in-memory analytics. |
Sqoop | Een mechanisme voor verbinding en overdracht dat gegevens verplaatst tussen Hadoop en relationele databases. |
Zookeeper | Een applicatie die de coördinatie van gedistribueerde verwerking verzorgt. |
Commerciële distributies van Hadoop
Open source software wordt ontwikkeld en onderhouden door een wereldwijd netwerk van ontwikkelaars. Je kunt het gratis downloaden, gebruiken en eraan bijdragen, hoewel er steeds meer commerciële versies van Hadoop op de markt komen, die vaak "distros" worden genoemd. Bij distributies van softwareleveranciers betaal je voor hun versie van het Hadoop-framework en profiteer je van extra functionaliteiten op het gebied van beveiliging, governance, SQL en beheer-/administratieconsoles, evenals van training, documentatie en andere diensten. Populaire distro's zijn onder meer Cloudera, Hortonworks, MapR, IBM BigInsights en PivotalHD.
Data in Hadoop plaatsen
Hier zijn enkele manieren om je data in Hadoop te importeren.
- Maak gebruik van externe connectoren (zie data connectoren).
- Gebruik Sqoop om gestructureerde gegevens van een relationele database naar HDFS, Hive en HBase te importeren. Het kan ook gegevens uit Hadoop extraheren en exporteren naar relationele databases en datawarehouses.
- Gebruik Flume om continu gegevens uit logbestanden naar Hadoop te verplaatsen.
Upload bestanden naar het systeem met eenvoudige Java-commando's.- Maak een cron-taak die een map scant op nieuwe bestanden en deze toevoegt aan HDFS zodra ze verschijnen. Dit is nuttig voor taken zoals het met regelmatige tussenpozen ophalen van e-mail.
- Verbind HDFS als bestandssysteem en kopieer of sla bestanden op in dit systeem.
Big data, Hadoop en SAS
SAS-ondersteuning voor big data-implementaties, zoals Hadoop, heeft één primair doel: je in staat stellen om sneller en beter inzicht te verkrijgen, zodat je weloverwogen beslissingen kunt nemen. Ongeacht hoe je de technologie gebruikt, moet elk project een iteratieve en voortdurende verbeteringscyclus doorlopen. Dit omvat het voorbereiden en beheren van data, het visualiseren en verkennen van data, het ontwikkelen van analytische modellen, en het implementeren en monitoren van modellen. Op deze manier kun je waardevolle inzichten verkrijgen en je omvangrijke Hadoop-data snel omzetten in nieuwe kansen.
Omdat SAS zich richt op analytics in plaats van op opslag, hanteren we een flexibele benadering bij het kiezen van hardware- en databaseleveranciers. We kunnen je ondersteunen bij het toepassen van de juiste combinatie van technologieën, zoals Hadoop en andere datawarehouse-oplossingen.
Zorg er ook voor dat je niet vergeet dat het succes van elk project afhangt van de waarde die het levert. Metrieken die gebaseerd zijn op het genereren van inkomsten, marges, risicobeperking en procesverbeteringen zullen bijdragen aan de acceptatie van pilotprojecten en meer interesse van andere afdelingen opwekken. Onze ervaring is dat veel organisaties bekijken hoe ze een of twee projecten in Hadoop kunnen implementeren, met de bedoeling om daar in de toekomst meer projecten aan toe te voegen.
Lees meer over Hadoop en Big Data
- Key questions to kick off your data analytics projectsThere’s no single blueprint for starting a data analytics project. Technology expert Phil Simon suggests these 10 questions as a guide.
- What is a data lake & why does it matter?As containers for multiple collections of data in one convenient location, data lakes allow for self-service access, exploration and visualization. In turn, businesses can see and respond to new information faster.
- The opportunity of smart grid analyticsWith smart grid analytics, utility companies can control operating costs, improve grid reliability and deliver personalized energy services.
- The future of IoT: On the edgeFrom cows to factory floors, the IoT promises intriguing opportunities for business. Find out how three experts envision the future of IoT.