Cómo escribir y ejecutar rápidamente su propio programa de ejemplo MapReduce
En la era del big data, Hadoop y MapReduce están en todas partes. ¿Cómo no vamos a estar al día? Pero para un principiante en Hadoop, todavía es un poco difícil escribir un programa MapReduce propio. Necesita configurar un proyecto maven, descubrir las dependencias de varias bibliotecas, además de compilarlo y ejecutarlo, lo cual es básicamente un gran dolor de cabeza. . Esto también desanima a muchas personas que sólo quieren entender brevemente MapReduce.
Este artículo te enseñará cómo escribir y ejecutar tu propio programa MapReduce de la forma más rápida y sencilla, ¡vamos!
En primer lugar, hay dos premisas:
1. Ya hay un clúster de hadoop en ejecución (también puede ser un sistema de pseudodistribución), y los hdfs y mapreduce anteriores funcionan normalmente (esto es realmente lo más básico, por lo que no entraré en detalles aquí). Si no sabe cómo, consulte mon. jar:/usr/lib/gphd/hbase/lib/hbase-protocol.jar:/usr/lib/gphd/hbase/lib/hbase-client.jar: /usr/lib/gphd/hbase/lib/hbase-thrift .jar:/usr/lib/gphd/hbase/lib/htrace-core-2.01.jar:/etc/gphd/hbase/conf::/usr/lib /gphd/hive/lib/hive-service.jar:/ usr/lib/gphd/hive/lib/libthrift-0.9.0.jar:/usr/lib/gphd/hive/lib/hive-metastore.jar:/ usr/lib/gphd/hive/lib/libfb303-0.9 0.jar:/usr/lib/gphd/hive/lib/hive-common.jar:/usr/lib/gphd/hive/lib/hive-exec. jar:/usr/lib/gphd/hive/lib/postgresql -jdbc.jar:/etc/gphd/hive/conf::/usr/lib/gphd/sm-plugins/*:
3 Compilar
Ejecutar comando
javac -classpath xxx ./myword.java
La parte xxx es la ruta de clase obtenida en el paso anterior
.Después de ejecutar este comando, se generarán algunos archivos en el archivo .class del directorio actual, por ejemplo:
myword.class myword$IntSumReducer.class myword$TokenizerMapper.class
4. Empaquete el archivo de clase en un archivo .jar
Ejecute el comando
jar -cvf myword.jar ./*.class
En este punto , el archivo jar de destino se genera con éxito
5. Prepare algunos archivos de texto y cárguelos en hdfs, utilícelos como entrada de recuento de palabras
Ejemplo:
Cree algunos. archivos de texto a voluntad y guárdelos en la carpeta mapred_test
Ejecute el comando
hadoop fs -put ./mapred_test/
Asegúrese de que esta carpeta se haya cargado correctamente a hdfs en el directorio raíz del usuario actual
6 Ejecute nuestro programa
Ejecutar comando
hadoop jar ./myword.jar salida de myword mapred_test
Si todo va bien, este comando se ejecutará normalmente, un trabajo de MapReduce comenzará a funcionar y los resultados de salida se guardarán en hdfs usuario actual En la carpeta de salida en el directorio raíz.
¡Eso es!
Si se necesitan más funciones, podemos modificar el archivo fuente anterior para lograr un trabajo MapReduce realmente útil.
Pero los principios son similares y, si se practica, básicamente es suficiente.
Un ejemplo sencillo para inspirar a otros, bienvenido al foro.
Reimprimir