Hem Personliga finanser Grafbehandling i Hadoop - dummies

Grafbehandling i Hadoop - dummies

Innehållsförteckning:

Video: hadoop yarn architecture 2024

Video: hadoop yarn architecture 2024
Anonim

En av de mer spännande nya NoSQL-teknikerna innefattar lagring och bearbetning av grafdata. Du kanske tror att detta uttalande är gammal nyhet eftersom datavetenskapare har utvecklat grafanalystekniker i årtionden. Vad du säger kan väl vara sant, men det nya är att med hjälp av Hadoop kan du göra grafanalys i stor skala.

Vad är grafdata?

A graf i data termer är helt enkelt en representation av enskilda enheter och deras relationer. En grafs enheter är kända som noder (eller vertices ) och relationerna mellan enheter i ett diagram kallas kanter (eller anslutningar >). Att representera dataset i en graf, i motsats till traditionella rader och kolumner, gör det mycket lättare att bearbeta dina data på ett sätt som gör relationerna mellan objekt kristallklara. Typiska grafberäkningar representeras av det kortaste vägavståndet mellan flera noder i ditt diagram, eller helt enkelt av hur många noder som har anslutningar av en viss typ till en specifik nod.

Ansökningar för grafanalys

Den mest kända applikationen för grafdatabaser är Googles PageRank-algoritm, som beräknar länkförhållandena mellan alla kända webbsidor. Google representerar webben som en jätte graf, där webbsidorna är noder, och länkarna från en sida till en annan är representerade som kanter. (Google delade förmögenheten genom att publicera ett papper som beskriver sitt grafanalysprojekt - märkt Pregel-back 2010.) Den grafbehandling som Google var intresserad av var att beräkna antalet inkommande anslutningar för varje webbsida.

Facebook gjorde ett betydande splash år 2013 när det meddelade att det använde Apache Giraph (baserat på Pregel-papperet), en grafhanteringsmotor utformad för att bearbeta grafer lagrade i HDFS. Det visade Giraphs kraft genom att visa en graf som representerar alla Facebook-användare (över 1 miljard) och deras vänskap (miljarder!), Som helt och hållet har över 1 biljon kanter. Denna skala är svindlande: Om du är Facebook och du behöver göra beräkningar som vän rekommendationer, vilket bättre verktyg att använda än en graf bearbetningsmotor? Det är ingen överraskning att en distribuerad grafdatabas ligger i kärnan på alla andra anmärkningsvärda sociala medier, inklusive Twitter, LinkedIn, OkCupid och Pinterest.

En grafbearbetningsmotor kan enkelt svara på många praktiska frågor för sociala medier. Två exempel är hur LinkedIn visar graden av separation mellan dig och en annan användare är en kortaste vägberäkning (vad är den närmaste kopplingen mellan två noder?) och hur OkCupid visar användare med gemensamma intressen är en uppsättning samarbetsfilterberäkningar (vilka är de vanligaste anslutningarna till en specifik uppsättning noder?).

Grafanalys i Hadoop

Från och med våren 2014 kvarstår grafanalys på Hadoop i sina tidiga stadier. Med tillkomsten av Garn i Hadoop 2 kommer grafanalys och andra specialiserade bearbetningstekniker att bli alltmer populära på Hadoop. Många av de sociala sidorna som nämns i denna artikel använder sina egna grafiska databaser och bearbetningsmotorer, men Facebook är en framträdande användare av Giraph. Eftersom Facebooks (underförstådda) godkännandegods har Giraph blivit ett populärt val för grafanalys på Hadoop, men det har några begränsningar. Det är enbart en bearbetningsmotor eftersom den laddar data som ett diagram i klustrets minne och det är optimerat för satsvisa frågor.

En annan grafhanteringslösning kommer från Aurelius, ett företag som har släppt en uppsättning grafiska analysverktyg för open source för Hadoop. Kärnan i sina erbjudanden är Titan, en grafdatabas med HBase som ett persistenslager, vilket optimeras för interaktiva frågor och Faunus, en grafhanteringsmotor som lagrar en ögonblicksbild av en graf från Titan i HDFS och kör MapReduce jobb mot den. För både de interaktiva (Titan) och batch (Faunus) applikationerna har Aurelius det gemensamma graf-traversala API-namnet Gremlin.

Slutligen har Apache Spark-projektet GraphX-offshoot, vilket möjliggör generering av grafdata, och sedan bearbetning, allt inom Spark-ramen.

Grafbehandling i Hadoop - dummies

Redaktörens val

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...