| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Cómo construir un índice invertido con MapReduce
    MapReduce es un modelo de programación paralela desarrollada en Google para los conjuntos de datos de gran tamaño . Procesa los datos en fragmentos más que en orden secuencial. Al hacerlo , se basa en un mapa de funciones de entrada emparejados ( teclas ) y los valores que a continuación pone a través de la función reduzca - por lo tanto , su nombre - para hacer más fácil de entender los datos . En lugar de proporcionar la función de mapa con una clave y un valor , un pares de índices invertidos palabras y los documentos para la búsqueda de texto. Puede utilizar índices invertidos en MapReduce para crear un índice para una búsqueda por palabra clave , por ejemplo. Instrucciones
    1

    Escriba el siguiente código para el mapa de funciones :

    pública InvertedIndexerMapper clase estática se extiende MapReduceBaseimplements Mapper { palabra texto estático final privado = new Texto ( ) , la ubicación del texto estático final privado = new Texto ( ) ;

    mapa public void (clave LongWritable , Texto val, OutputCollector , periodista periodista ) throws IOException { FileSplit FileSplit = ( FileSplit ) reporter.getInputSplit (); string nombre_archivo = fileSplit.getPath () getName (); location.set ( fileName ) ; High Line cuerdas

    - val.toString ( ) . ITR StringTokenizer = new StringTokenizer ( línea. toLowerCase ()) , mientras que ( itr.hasMoreTokens ()) { word.set ( itr.nextToken ()); output.collect (word , ubicación) ;} } }
    2

    Escriba el siguiente código de la función de reducir :

    pública InvertedIndexerReducer clase estática se extiende MapReduceBaseimplements Reductor { public void reducir (tecla de texto , valores Iterator , OutputCollector , periodista periodista ) throws IOException { booleano primero = true; StringBuilder toReturn = new StringBuilder (); while ( values.hasNext ()) { if ( primero ) toReturn.append (", "); ! primero = false; toReturn . append ( . values.next () toString ()) ;} output.collect ( , nuevo texto fundamental ( toReturn.toString ()) ) ;} }
    3

    Copiar el código para completar el índice invertido :

    void (String [] args ) public static throws IOException { if ( args.length < 2 ) { System.outprintln ( "Uso: InvertedIndex < , ruta de salida > ") ; System.exit ( 1 ) ;} JobConf conf = new 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, nueva ruta ( args [ 0 ])) ; FileOutputFormat.setOutputPath ( conf, nueva ruta ( args [ 1 ] )); try { JobClient.runJob ( conf ) ; } catch ( Exception e ) { e.pringStackTrace () ;} }

    Previous :

    next :
      Artículos relacionados
    ·La función aleatoria en COBOL 
    ·Cálculos en Adobe LiveCycle Enterprise Suite 
    ·Depuración de una Violación Acceso 
    ·¿Cómo diferenciar entre los métodos primitivos y cre…
    ·Cómo agregar un banner Uso de la programación HTML 
    ·Cómo construir un Skate Park Game 
    ·¿Qué es un atributo de datos 
    ·Cómo volver a indizar una tabla Montón 
    ·La diferencia entre Delete y Truncar en Oracle 
    ·Cómo organizar direcciones de correo electrónico Alfa…
      Artículos destacados
    ·PHP función incorrecta 
    ·Cómo deshabilitar restricciones en MySQL 
    ·Cómo modificar la interfaz de usuario MySQL Table en e…
    ·Cómo quitar los espacios en blanco en SQL 
    ·Cómo utilizar la función Dir en VBA 
    ·Cómo agregar módulos para Perl 
    ·Cómo hacer un diagrama de flujo que imprime todos los …
    ·Un Tutorial de HTML 5 Animación Canvas 
    ·Cómo agregar GMP a Xcode 
    ·Cómo crear un servicio web utilizando PHP 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com