Domanda

I desideroso di sapere (e dover sapere) del Nuch e dei suoi algoritmi (perché si riferisce al mio progetto) che usa per recuperare, classificare, ... (generalmente strisciando).
Ho letto Questo materiale ma è un po 'difficile da capire.
C'è qualcuno che può spiegarmelo in un modo completo e facile da capire?
Grazie in anticipo.

È stato utile?

Soluzione

risposta breve

In breve, hanno sviluppato un webcrawler progettato per strisciare in modo molto efficiente il web da un ambiente di molti computer (ma che può essere eseguito anche su un singolo computer).

Puoi iniziare a strisciare il web senza effettivamente bisogno di sapere come l'hanno implementato.

La pagina che si fa riferimento descrive come è implementato.

Tecnologia dietro di esso

Fanno uso di hadoop che è un progetto Java open source che è stato progettato lungo le stesse linee di Mapredratuce. MapRadratuce è la tecnologia Google utilizza per strisciare e organizzare il web.

Ho partecipato ad alcune conferenze su MapRaduce / Hadoop, e sfortunatamente, non so se qualcuno in questo momento può spiegarlo in modo completo e facile da capire (sono tipi di opposti).

Dai un'occhiata alla pagina Wikipedia per MapRadratuce .

L'idea di base è quella di inviare un lavoro al nodo principale, il Master interrompe il lavoro in pezzi e lo invia (maps) ai vari nodi lavoratori (altri computer o discussioni) che eseguono il loro sottocomprensivo assegnato, e quindi invia il sub-risultato Torna a Master.

Una volta che il nodo principale ottiene tutti i sub-Risultati (o alcuni dei seguenti risultati) inizia a combinarli (ridurli) nella risposta finale.

Tutti questi compiti vengono eseguiti allo stesso tempo, e ciascun computer viene data la giusta quantità di lavoro per mantenerlo occupato tutto il tempo.

Come strisciare

è composto da 4 posti di lavoro:

    .
  1. Genera
  2. FETCH
  3. Parse
  4. Aggiorna database
  5. * Genera

    Avvia con un elenco di pagine Web che contengono le pagine che si desidera avviare strisciando da: il "Webtable".

    Il nodo principale invia tutte le pagine in quell'elenco ai suoi slave (ma se due pagine hanno lo stesso dominio vengono inviate allo stesso slave).

    Lo slave prende la pagina web assegnata (s) e:

      .
    1. è già stato generato? Se sì, saltalo.
    2. normalizza l'URL poiché "http://www.google.com/" e "http://www.google.com/../" è in realtà la stessa pagina web.
    3. restituisce un punteggio iniziale insieme alla pagina Web al master.
    4. (il master partitions le pagine Web quando lo invia ai suoi slave in modo che finiscano allo stesso tempo)

      Il master ora sceglie il topn (forse l'utente voleva solo iniziare con 10 pagine iniziali) e segnali come scelto nel WebTable.

      * Fetch

      Master guarda a ciascun URL nel WebTable, mappa quelli che sono stati contrassegnati su schiavi per elaborarli.

      Slaves Fetch Ogni URL da Internet il più velocemente man mano che la connessione Internet li lascerà, hanno una coda per ogni dominio.

      restituiscono l'URL insieme al testo HTML della pagina Web al Master.

      * Parse

      Master guarda a ciascuna pagina Web nel WebTable, se è contrassegnata come recuperata, lo invia ai suoi slave per analizzarlo.

      Lo schiavo Prima controlla per vedere se fosse già analizzato da uno schiavo diverso, se così saltalo.

      Altrimenti, analizza la pagina Web e salva il risultato in WebTable.

      * Aggiorna database

      Master guarda a ciascuna pagina Web nel WebTable, invia le righe analizzate ai suoi slave.

      Gli slave ricevono questi URL analizzati, calcolano un punteggio per loro in base al numero di link lontano da quelle pagine (e al testo vicino a quei collegamenti) e invia gli URL e segnalino al master (che è ordinato per punteggio Quando torna al master a causa del partizionamento).

      Il master calcola e aggiorna i punteggi delle pagine Web in base al numero di collegamenti a quelle pagine da altre.

      Il master memorizza tutto il database.

      Ripeti

      Quando sono state analizzate le pagine, i collegamenti fuori da quelle pagine Web sono stati aggiunti nel WebTable. Ora puoi ripetere questo processo solo sulle pagine che non hai ancora visto per continuare ad espandere le tue pagine visitate. Alla fine raggiungerai la maggior parte di Internet dopo le interazioni sufficienti dei quattro passaggi precedenti.

      Conclusione

      Mapreduce è un sistema fantastico.

      È stato applicato un sacco di sforzi per renderlo il più efficace possibile.

      Possono gestire i computer che si abbassano nel mezzo del lavoro e riassegnare il lavoro ad altri schiavi. Possono gestire alcuni schiavi più veloci di altri.

      Il master può decidere di fare i compiti degli schiavi sulla propria macchina invece di inviarlo a uno schiavo se sarà più efficiente. La rete di comunicazione è incredibilmente avanzata.

      MapReduce ti consente di scrivere codice semplice:

      Definisci un Mapper, un partizionista opzionale e un riduttore.

      Quindi lascia che MakreDuce abbia capito il modo migliore per farlo con tutte le risorse del computer con cui ha accesso, anche se è un singolo computer con una connessione internet lenta o un cluster di kila. (forse anche mega-cluster).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top