Los recomendados de la semana, en realidad de las semanas dado que ha pasado más de una semana desde los últimos, empiezan con un rumor que se ha confirmado, algunas herramientas… entre otras cosas.

Los dejo con una genial tira de xkcd, Online Communities 2:

Online Communities 2

Hadoop Logo

Hadoop es un framework para computación distribuida que soporta aplicaciones con uso intensivo de datos. Implementa, entre otras cosas, el paradigma MapReduce y HDFS, un sistema de archivos distribuido y el principal sistema de almacenamiento en Hadoop.

En esta primera aproximación probaré la instalación y ejecución de Hadoop, haciendo un resumen de los pasos necesarios, traduciéndolos, y comentarios al margen frente a la documentación.

Los prerrequisitos de Hadoop son Java 1.6, ssh server y rsync, en Windows será necesario también Cygwin. Para éstas pruebas usaré una máquina virtual con Debian 5.0.5, Java 1.6.0_20, openssh 5.1p1.

La instalación de Hadoop se reduce a descargar la versión estable y descomprimirlo:

wget http://apache.mirrors.tds.net//hadoop/core/stable/hadoop-0.20.2.tar.gz
tar -xvf hadoop-0.20.2.tar.gz
Ahora, entrando a la carpeta que se descomprimió, se edita conf/hadoop-env.sh definiendo la variable JAVA_HOME con la ubicación de la instalación de java, en teoría funcionaría si la variable JAVA_HOME está definida en el entorno, pero es mejor definirla en el archivo para facilitar la distribución. A continuación se puede ejecutar el comando:
bin/hadoop
Para ver  la documentación de uso.
Existen 3 configuraciones posibles de Hadoop: Standalone, pseudo-distribuida y distribuida. La configuración predeterminada es Standalone, no distribuida y un solo proceso de java, útil para depuración según la documentación. Con ésta instalación se puede ejecutar el primer ejemplo de Hadoop, un grep basado en MapReduce:
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*

La salida crea dos archivos: part-0000 con la respuesta y .part-0000.crc con el CRC checksum.

Para ejecutar Hadoop en el modo Pseudo-distribuido, varios nodos en una máquina en procesos java diferentes, debemos modificar los archivos conf/core-site.xml, conf/hdfs-site.xml y conf/mapred-site.xml así:

conf/core-site.xml:

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

</configuration>

conf/hdfs-site.xml:

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

conf/mapred-site.xml:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

En el ambiente de pruebas funciona ssh a localhost sin contraseña, sin embargo esto puede no ser cierto en todos los ambientes. En el manual de Hadoop describen la forma configurarlo para ese caso. Esto sólo es necesario si no se puede hacer ssh a localhost sin contraseña:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Ahora podemos ejecutar hadoop, primero creando un nuevo sistema de archivo distribuido, para luego ejecutar los nodos

$ bin/hadoop namenode -format
$ bin/start-all.sh

Ahora podemos acceder a la interfaz web del Job Tracker y del Namenode en el puerto 50030 y 50070 respectivamente.

Ahora ejecutaremos el ejemplo con el que probamos el Singlenode, para lo cual necesitamos copiar los archivos de entrada al sistema de archivos distribuido, en el cual también se crearán los archivos de salida, para hacer visibles las diferencias entre los dos modos se pueden borrar las carpetas input y output creadas anteriormente. Para ejecutar el ejemplo hacemos:

$ rm -rf input output

$ bin/hadoop fs -put conf input

$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

Ahora los archivos de salida están en el sistema de archivos distribuido, para traerlos ejecutamos:

$ bin/hadoop fs -get output output
$ cat output/*

o podemos ver el resultado directamente en el sistema de archivos distribuido:

bin/hadoop fs -cat output/*

Cuando terminamos podemos detener los nodos ejecutando:

$ bin/stop-all.sh

La salida incluye además de la respuesta los logs de la ejecución.

En un próximo post revisaremos la configuración de Hadoop en modo distribuido en un Cluster de máquinas.

Hadoop Logo

 

Los recomendados de la semana, en el inicio de la “semana de receso” de la universidad, que va a estar llena de trabajo (aunque en un tema interesante….).

Eso es todo por el momento, los dejo con el recomendado musical de la semana:

Francisca Valenzuela

Un poco tarde, debido a estar en la semana 7 del semestre, llegan los recomendados de la semana:

Quedan algunas recomendaciones en el tintero, pero será para la próxima edición de los recomendados. Hasta una próxima ocasión.

Los recomendados de la semana salpicados de noticias, no muy buenas, desde Italia.

  • Un juez italiano condena a seis meses de prisión a dos ejecutivos y un ex-empleado de Google, por un vídeo subido a Youtube, del cual no son responsables y que fue retirado rápidamente cuando fueron alertados del contenido, además de colaborar con la identificación y captura de los responsables. Comentan la seria amenaza a Internet en el blog de Google y en Genbeta.
  • El segundo articulo de una serie que ha iniciado Genbeta sobre los riesgos más graves para la red. El tercer articulo nos habla de ACTA, DMCA y Lista 301.
  • Después del empujón que le ha dado Google a html5, nada mejor que una guía para principiantes para empezar a utilizarlo.
xkcd
Me recuerda algo.... 😛 (Una excelente tira de xkcd)

AardVark, Motor de búsquedas sociales-Adquirido por Google

Aardvark es un servicio interesante, tanto en su parte técnica como en su funcionalidad, en el blog de Google hablan de su adquisición y referencian un artículo (D.  Horowitz, S. Kamvar) muy interesante que ha servido como fuente a este post.

A diferencia de los motores de búsqueda por contenido, como Google, que están enfocados en el paradigma de la biblioteca, Aardvark se basa en otro de los paradigmas clásicos de la adquisición de conocimiento: La aldea. En una aldea la información se transmite de persona a persona, para responder una pregunta es necesario encontrar a la persona adecuada (en lugar del documento adecuado). La gente en la aldea se comunica en lenguaje natural, la confianza se basa en la intimidad (cercanía) y tanto las preguntas como las respuestas tienen un alto grado de contextualización y subjetividad.

Aardvark es un motor de búsquedas sociales basado en el paradigma de la aldea, que se comporta notablemente bien en búsquedas que tratan con opinión, experiencia, recomendaciones o consejos.

Aardvark trabaja con preguntas y respuestas, se encarga de encontrar a la persona más apropiada para responder cada consulta. Para hacer esto necesita conocer las habilidades(aquellos temas en los que el usuario se considera experto) y el grafo social de sus usuarios, no construyendo una red social dentro de él sino permitiendo al usuario usar sus redes sociales existentes. Se integra con Facebook, Twitter, Google Contacts y LinkedIn, además el conocimiento acerca del usuario, que en un principio se alimenta de los perfiles en éstas redes sociales y el perfil de Google,  se va incrementando con el uso del servicio.

La interacción con el usuario se hace por medio de preguntas y respuestas, para ello utiliza los medios con los que el usuario interactúa generalmente para hacer preguntas a sus amigos: Mensajería Instantánea (Windows Live, Google Talk, Yahoo Messenger, AIM), SMS, e-mail, iPhone, Twitter, entre otros.  Todo esto para dar la intimidad de una conversación 1 a 1, usando nombres reales, poniendo en manifiesto la relación que existe con la persona que pregunta(si la hay), además el lenguaje usado por Aardvark cuando se comunica con el usuario ayuda a darle pautas de comportamiento, y de forma, cuando realiza una pregunta o da una respuesta. Aardvark no indexa contenido, indexa personas.

Las cifras de Aardvark (presentadas en la sección 5 del artículo) presentan un escenario muy prometedor, con usuarios activos generando contenido especialmente los usuarios móviles, por encima de los usuarios móviles activos de Google, preguntas altamente contextualizadas (3 o 4 veces más elementos de contexto que en búsquedas tradicionales con palabras clave) y con preguntas con elementos subjetivos, rapidez y calidad en las respuestas.

En resumen, una adquisición interesante por parte de Google, que no ha sonado mucho por el lanzamiento de Buzz en esta semana. Aardvark está disponible en Google Labs, después de probarlo un poco me han parecido muy acertadas las respuestas de los usuarios y las preguntas que me han llegado. El único punto malo es que solo está disponible en ingles.

La gente de Google no se queda quieta. Ayer veíamos el lanzamiento de Buzz, ya disponible para todos los usuarios de Gmail, y hoy vemos el anunció de un proyecto para multiplicar por 100 la velocidad de conexión de los hogares.

Fibra óptica para los hogares, conexiones de 1 Gbps, al menos para 50000 (potencialmente para 500000) hogares inicialmente. El propósito, como debe ser, es aprender de la experiencia. Si Google entra en serio en el negocio de infraestructura de telecomunicaciones, me gustaría ver al presidente de telefónica declarando, y no soy el único.

Cambiando de tema, después de probar un rato, algunas horas,  Buzz me quedan varias impresiones:

  • Nos inunda con información. No es que eso sea malo,  sin embargo sin los filtros adecuados no será posible encontrar aquella que sea relevante.  Si Google cumple con lo prometido y Buzz aprende, a partir de los hábitos del usuario, a filtrar su contenido puede llegar a ser interesante. Información útil sería un punto clave, llegaría a ser una herramienta para generar conocimiento.
  • Genera ruido en la bandeja de entrada. Demasiado, aunque no es algo que no se pueda evitar, es una de las quejas qué más se leen dentro de Buzz 😛 y se extraña una opción (oficial) para desactivar estas notificaciones. (Para quienes no les gusta Buzz del todo, siempre está la opción de apagarlo, en el pie de Gmail 😛 )
  • Buzz privados solo a grupos, no a usuarios individuales. No sé si es que no he visto la opción, pero cuando se publica una actualización privada pide que se seleccione con quien compartir, y solo permite seleccionar grupos.

Es una herramienta interesante, con muchas posibilidades, esperemos que siga evolucionando. Hace algún tiempo(poco más de un año), en un curso de administración del conocimiento,  discutíamos acerca del uso de Twitter como herramienta para generar, y compartir, conocimiento.  Si Google Buzz evoluciona, como espero que lo haga,  nadie dudará de su utilidad en este sentido.

Google Buzz, nuevo servicio social de Google

Hace unos días en lifehacker vi un enlace a  post preguntando el por qué no se podía crear un label Buzz(Google Blogoscoped) en Gmail. También hace días ha estado rondando el rumor de una nueva funcionalidad social que develaría Google en ésta semana.

Hoy Google ha revelado Buzz, qué dota a Gmail de funcionalidades sociales,  permite compartir un “estado”,  comentarios,  fotos, videos,  integra servicios como Flickr,  Picassa y Twitter,  entre otras cosas . Todo actualizado en tiempo real y permitiendo compartir públicamente o con grupos de contactos específicos.

Definitivamente es una funcionalidad que dará de qué hablar. En el blog oficial de Gmail hay una descripción más detallada de Buzz, donde además nos dicen que estará disponible para todos los usuarios de Gmail en los próximos días, aunque de momento no estará disponible en Google Apps.