Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur man bygger en inverterad index med MapReduce

    MapReduce är en parallell programmering modell utvecklad i Google för stora datamängder . Den bearbetar data i bitar i stället för i följd efter varandra. På så bygger den på en karta över parade ingångsfunktioner (nycklar ) och värden som den sedan sätter genom reduce -funktion - alltså , dess namn - för att göra data lättare att förstå . Istället för att ge kartfunktionen med en nyckel och värde , en inverterad par indexera ord och handlingar för att söka text . Du kan använda inverterade index i MapReduce att skapa ett index för ett sökord , till exempel . Instruktioner
    1

    Skriv in följande kod för kartfunktion :

    public static class InvertedIndexerMapper utökar MapReduceBaseimplements Mapper { private final static Text ord = ny text ( ) , private final static text läge = new text ( ) ;

    public void karta ( LongWritable nyckel , text val , OutputCollector utgång , reporter reporter ) kastar IOException { FileSplit FileSplit = ( FileSplit ) reporter.getInputSplit ( ) , String filename = fileSplit.getPath ( ) getName ( ) ; location.set ( filnamn);

    String line - val.toString ( ) , . StringTokenizer ITR = ny StringTokenizer ( line. toLowerCase ( ) ) , medan ( itr.hasMoreTokens ( ) ) { word.set ( itr.nextToken ( ) ) ; output.collect ( word , plats ) ; } } }
    2

    Type följande kod för att minska funktionen :

    public static class InvertedIndexerReducer utökar MapReduceBaseimplements Reducer { public void minska ( Text nyckel , Iterator värden , OutputCollector utgång , reporter reporter ) kastar IOException { boolean först = true; StringBuilder toReturn = ny StringBuilder ( ) , medan ( values.hasNext ( ) ) {if ( första ) toReturn.append ( " , " ) ; ! först = false; toReturn . append ( . values.next ( ) toString ( ) ) ; } output.collect ( nyckel , ny text ( toReturn.toString ( ) ) ) ; } } Addera 3

    Skriv följande kod att slutföra den inverterade index :

    public void main ( String [] args ) kastar IOException {if ( args.length < 2 ) { System.outprintln ( " användning : InvertedIndex < ; pappersbana > " ) ; System.exit ( 1 ) ;} JobConf conf = ny JobConf ( InvertedIndex.class ) , conf.setJobName ( " InvertedIndex " ) ;

    conf.setOutputKeyClass ( Text.class ) ; conf.setOutputValueClass ( Text.class ) ,

    conf.setMapperClass ( InvertedIndexerMapper.class ) , conf.setReducerClass ( InvertedIndexerReducer.class ) ;

    FileInputFormat.setInputPaths ( conf , ny bana ( args [ 0 ] ) ) ; FileOutputFormat.setOutputPath ( conf , ny bana ( args [ 1 ] ) ) ; try { JobClient.runJob ( conf ) ;} catch ( Exception e ) { e.pringStackTrace ( ) ;} }
    Addera ditt

    Tidigare:

    nästa:
    relaterade artiklar
    ·Idéer för Ladder Logic
    ·Specifikationerna för ett ATI Sapphire X1550
    ·Vad är klockan komplexiteten i en djup -först söknin…
    ·Hur konvertera en sträng till System IO i Textwriter
    ·Hur man kan dela heltal med Bit Skiften
    ·Vad är csc.exe Från Microsoft Corporation
    ·Hur man lär UML 2.0 Online
    ·Alternativen för DataGridView
    ·Kapslad tabell HTML Tutorial
    ·Hur man lagrar en sträng variabel i heltalstyp
    Utvalda artiklarna
    ·Hur man använder Google Maps API för att komplettera …
    ·Object Obligatoriskt i Visual Basic
    ·Numeriska variabler Versus Tecken
    ·Hur Loop igenom en lista med objekt i Freemarker
    ·Hur kan vi minska Float i Java
    ·Visual Studio SQL Tutorial
    ·Hur man skapar en DER certifikat
    ·Hur man använder PHP för att befolka en databas
    ·Hur Fördela Xcode i Mac Apps
    ·Lägga till en flik till en sträng på VB.NET
    Copyright © Dator Kunskap http://www.dator.xyz