7 herramientas para domesticar big data con Hadoop

Las inundaciones que devastaron la industria del disco duro en Tailandia tienen ahora medio año y los precios por terabyte finalmente están bajando una vez más. Eso significa que los datos comenzarán a acumularse y la gente de la oficina se preguntará qué se puede hacer con ellos. ¿Quizás hay algunas ideas en esos archivos de registro? ¿Quizás un poco de análisis estadístico encontrará algunas pepitas de oro enterradas en todo ese ruido? ¿Quizás podamos encontrar suficiente cambio enterrado en los cojines del sofá de estos archivos para darnos un aumento a todos?

La industria ahora tiene una palabra de moda, "big data", que indica cómo vamos a hacer algo con la enorme cantidad de información acumulada. "Big data" está reemplazando a la "inteligencia empresarial", que incluía "informes", que le da un brillo más agradable a las "hojas de cálculo", que superan a las antiguas "impresiones". Los gerentes que hace mucho tiempo estudiaron las impresiones ahora están contratando matemáticos que dicen ser especialistas en big data para ayudarlos a resolver el mismo viejo problema: ¿Qué se vende y por qué?

[También en: Enterprise Hadoop: procesamiento de Big Data más fácil | Explore las tendencias y soluciones actuales en BI con la iGuide de Business Intelligence interactiva. | Descubra las novedades de las aplicaciones empresariales con el boletín informativo Tecnología: Aplicaciones. ]

No es justo sugerir que estas palabras de moda sean simples reemplazos entre sí. El big data es un mundo más complicado porque la escala es mucho mayor. La información suele estar distribuida en varios servidores y el trabajo de recopilación de datos debe coordinarse entre ellos. En el pasado, el trabajo se delegaba en gran parte al software de la base de datos, que usaba su mecanismo mágico JOIN para compilar tablas, luego sumaba las columnas antes de entregar el rectángulo de datos al software de informes que lo paginaría. A menudo, esto era más difícil de lo que parece. Los programadores de bases de datos pueden contarle historias sobre complicados comandos JOIN que bloquearían su base de datos durante horas mientras intentaba producir un informe para el jefe que quería sus columnas así.

El juego es muy diferente ahora. Hadoop es una herramienta popular para organizar los racks y los racks de servidores, y las bases de datos NoSQL son herramientas populares para almacenar datos en estos racks. Este mecanismo puede ser mucho más poderoso que la vieja máquina única, pero están lejos de ser tan pulidos como los viejos servidores de bases de datos. Aunque SQL puede ser complicado, escribir la consulta JOIN para las bases de datos SQL a menudo era mucho más simple que recopilar información de docenas de máquinas y compilarla en una respuesta coherente. Los trabajos de Hadoop están escritos en Java y eso requiere otro nivel de sofisticación. Las herramientas para abordar el big data apenas están comenzando a empaquetar esta potencia informática distribuida de una manera que sea un poco más fácil de usar.

Muchas de las herramientas de big data también funcionan con almacenes de datos NoSQL. Son más flexibles que las bases de datos relacionales tradicionales, pero la flexibilidad no es tan diferente del pasado como Hadoop. Las consultas NoSQL pueden ser más simples porque el diseño de la base de datos desalienta la complicada estructura tabular que impulsa la complejidad de trabajar con SQL. La principal preocupación es que el software necesita anticipar la posibilidad de que no todas las filas tengan algunos datos para cada columna.

El mayor desafío puede ser lidiar con las expectativas creadas por la gran película "Moneyball". Todos los jefes lo han visto y han asimilado el mensaje de que algunas estadísticas inteligentes pueden convertir a un equipo de bajo presupuesto en un ganador de la Serie Mundial. No importa que los Atléticos de Oakland nunca ganaron la Serie Mundial durante la era del "Moneyball". Esa es la magia de la prosa de Michael Lewis. Todos los jefes están pensando: "Quizás si puedo obtener buenas estadísticas, Hollywood contratará a Brad Pitt para que me interprete en la versión cinematográfica".

Ninguno de los programas de esta colección se acercará a convencer a Brad Pitt para que le pida a su agente una copia del guión de la versión cinematográfica de su trabajo en Hadoop. Eso tiene que venir de tu interior o de los demás humanos que trabajan en el proyecto. Comprender los datos y encontrar la pregunta correcta a formular suele ser mucho más complicado que hacer que su trabajo de Hadoop se ejecute rápidamente. Eso es realmente decir algo porque estas herramientas son solo la mitad del trabajo.

Para manejar la promesa del campo, descargué algunas herramientas de big data, mezclé datos y luego miré las respuestas para obtener información de grado Einstein. La información vino de los archivos de registro al sitio web que vende algunos de mis libros (wayner.org), y estaba buscando una idea de qué se estaba vendiendo y por qué. Así que desempaqué el software e hice las preguntas.

 

Herramientas de big data: Jaspersoft BI Suite

El paquete Jaspersoft es uno de los líderes de código abierto para producir informes a partir de columnas de bases de datos. El software está bien pulido y ya está instalado en muchas empresas, convirtiendo tablas SQL en archivos PDF que todos pueden examinar en las reuniones.

La compañía se está subiendo al tren del big data, y esto significa agregar una capa de software para conectar su software de generación de informes a los lugares donde se almacena el big data. JasperReports Server ahora ofrece software para absorber datos de muchas de las principales plataformas de almacenamiento, incluidas MongoDB, Cassandra, Redis, Riak, CouchDB y Neo4j. Hadoop también está bien representado, con JasperReports proporcionando un conector Hive para llegar al interior de HBase.

Parece que este esfuerzo aún está comenzando: muchas páginas de la wiki de documentación están en blanco y las herramientas no están completamente integradas. El diseñador de consultas visuales, por ejemplo, aún no funciona con el CQL de Cassandra. Tienes la oportunidad de escribir estas consultas a mano.

Una vez que obtenga los datos de estas fuentes, el servidor de Jaspersoft los reducirá a tablas y gráficos interactivos. Los informes pueden ser herramientas interactivas bastante sofisticadas que le permiten profundizar en varios rincones. Puede solicitar más y más detalles si los necesita.

Este es un rincón bien desarrollado del mundo del software, y Jaspersoft se está expandiendo al facilitar el uso de estos informes sofisticados con fuentes de datos más nuevas. Jaspersoft no ofrece formas particularmente nuevas de ver los datos, solo formas más sofisticadas de acceder a los datos almacenados en nuevas ubicaciones. Encontré esto sorprendentemente útil. La agregación de mis datos fue suficiente para tener un sentido básico de quién iba al sitio web y cuándo iban allí.

 

Herramientas de big data: Pentaho Business Analytics

Pentaho es otra plataforma de software que comenzó como un motor de generación de informes; Al igual que JasperSoft, se ramifica en big data al facilitar la absorción de información de las nuevas fuentes. Puede conectar la herramienta de Pentaho a muchas de las bases de datos NoSQL más populares, como MongoDB y Cassandra. Una vez que las bases de datos están conectadas, puede arrastrar y soltar las columnas en vistas e informes como si la información proviniera de bases de datos SQL.

Encontré que las tablas clásicas de clasificación y cribado son extremadamente útiles para comprender quién pasaba la mayor cantidad de tiempo en mi sitio web. Simplemente ordenar por dirección IP en los archivos de registro reveló lo que estaban haciendo los usuarios habituales.

Pentaho también proporciona software para extraer datos de archivos HDFS y datos HBase de clústeres de Hadoop. Una de las herramientas más intrigantes es la interfaz de programación gráfica conocida como Kettle o Pentaho Data Integration. Tiene un montón de módulos integrados que puede arrastrar y soltar en una imagen, luego conectarlos. Pentaho ha integrado completamente Hadoop y las otras fuentes en esto, por lo que puede escribir su código y enviarlo para que se ejecute en el clúster.

 

Herramientas de big data: Karmasphere Studio y Analyst

Muchas de las herramientas de big data no comenzaron como herramientas de informes. Karmasphere Studio, por ejemplo, es un conjunto de complementos creados sobre Eclipse. Es un IDE especializado que facilita la creación y ejecución de trabajos de Hadoop.

Tuve una rara sensación de alegría cuando comencé a configurar un trabajo de Hadoop con esta herramienta de desarrollo. Hay una serie de etapas en la vida de un trabajo de Hadoop, y las herramientas de Karmasphere lo guían a través de cada paso, mostrando los resultados parciales a lo largo del camino. Supongo que los depuradores siempre nos han permitido observar el mecanismo mientras hace su trabajo, pero Karmasphere Studio hace algo un poco mejor: a medida que configura el flujo de trabajo, las herramientas muestran el estado de los datos de prueba en cada paso. Verá cómo se verán los datos temporales cuando se separen, analicen y luego se reduzcan.

Karmasphere también distribuye una herramienta llamada Karmasphere Analyst, que está diseñada para simplificar el proceso de analizar todos los datos en un clúster de Hadoop. Viene con muchos bloques de construcción útiles para programar un buen trabajo de Hadoop, como subrutinas para descomprimir archivos de registro comprimidos. Luego, los encadena y parametriza las llamadas de Hive para producir una tabla de salida para su lectura.

 

Herramientas de big data: Talend Open Studio

Talend también ofrece un IDE basado en Eclipse para unir trabajos de procesamiento de datos con Hadoop. Sus herramientas están diseñadas para ayudar con la integración de datos, la calidad de los datos y la gestión de datos, todo con subrutinas adaptadas a estos trabajos.

Talend Studio le permite crear sus trabajos arrastrando y soltando pequeños iconos en un lienzo. Si desea obtener una fuente RSS, el componente de Talend buscará el RSS y agregará proxy si es necesario. Hay docenas de componentes para recopilar información y docenas más para hacer cosas como una "coincidencia difusa". Entonces puede generar los resultados.

Encadenar bloques visualmente puede ser sencillo después de tener una idea de lo que realmente hacen y no hacen los componentes. Esto fue más fácil de entender para mí cuando comencé a mirar el código fuente que se ensamblaba detrás del lienzo. Talend le permite ver esto y creo que es un compromiso ideal. La programación visual puede parecer un objetivo elevado, pero he descubierto que los iconos nunca pueden representar los mecanismos con suficiente detalle para que sea posible comprender lo que está sucediendo. Necesito el código fuente.

Talend también mantiene TalendForge, una colección de extensiones de código abierto que facilitan el trabajo con los productos de la empresa. La mayoría de las herramientas parecen ser filtros o bibliotecas que vinculan el software de Talend con otros productos importantes como Salesforce.com y SugarCRM. Puede absorber información de estos sistemas en sus propios proyectos, simplificando la integración.

 

Herramientas de big data: Skytree Server

No todas las herramientas están diseñadas para facilitar la combinación de código con mecanismos visuales. Skytree ofrece un paquete que realiza muchos de los algoritmos de aprendizaje automático más sofisticados. Todo lo que necesita es escribir el comando correcto en una línea de comandos.

Skytree está más centrado en las entrañas que en la brillante GUI. Skytree Server está optimizado para ejecutar una serie de algoritmos clásicos de aprendizaje automático en sus datos mediante una implementación que, según afirma la empresa, puede ser 10.000 veces más rápida que otros paquetes. Puede buscar a través de sus datos en busca de grupos de elementos matemáticamente similares, luego invertir esto para identificar valores atípicos que pueden ser problemas, oportunidades o ambos. Los algoritmos pueden ser más precisos que los humanos y pueden buscar en grandes cantidades de datos en busca de entradas que sean un poco fuera de lo común. Esto puede ser un fraude, o un cliente particularmente bueno que gastará y gastará.

La versión gratuita del software ofrece los mismos algoritmos que la versión propietaria, pero está limitada a conjuntos de datos de 100.000 filas. Esto debería ser suficiente para establecer si el software es una buena combinación.

 

Herramientas de macrodatos: Tableau Desktop y Server

Tableau Desktop es una herramienta de visualización que facilita la visualización de sus datos de nuevas formas, luego los divide y los analiza de otra forma. Incluso puede mezclar los datos con otros datos y examinarlos desde otra perspectiva. La herramienta está optimizada para brindarle todas las columnas de los datos y permitirle mezclarlas antes de colocarlas en una de las docenas de plantillas gráficas proporcionadas.

Tableau Software comenzó a adoptar Hadoop hace varias versiones y ahora puede tratar Hadoop "como lo haría con cualquier conexión de datos". Tableau confía en Hive para estructurar las consultas y luego hace todo lo posible para almacenar en caché tanta información en la memoria para permitir que la herramienta sea interactiva. Si bien muchas de las otras herramientas de generación de informes se basan en la tradición de generar informes sin conexión, Tableau desea ofrecer un mecanismo interactivo para que pueda dividir y dividir sus datos una y otra vez. El almacenamiento en caché ayuda a lidiar con parte de la latencia de un clúster de Hadoop.

El software está bien pulido y es estéticamente agradable. A menudo me encontraba volviendo a dividir los datos solo para verlos en otro gráfico, aunque no había mucho que aprender al cambiar de un gráfico circular a un gráfico de barras y más. El equipo de software incluye claramente a varias personas con cierto talento artístico.

 

Herramientas de Big Data: Splunk

Splunk es un poco diferente de las otras opciones. No es exactamente una herramienta de generación de informes o una colección de rutinas de inteligencia artificial, aunque logra mucho de eso en el camino. Crea un índice de sus datos como si sus datos fueran un libro o un bloque de texto. Sí, las bases de datos también crean índices, pero el enfoque de Splunk está mucho más cerca de un proceso de búsqueda de texto.

Esta indexación es sorprendentemente flexible. Splunk ya viene sintonizado con mi aplicación particular, dando sentido a los archivos de registro, y los absorbió de inmediato. También se vende en varios paquetes de soluciones diferentes, incluido uno para monitorear un servidor Microsoft Exchange y otro para detectar ataques web. El índice ayuda a correlacionar los datos en estos y varios otros escenarios comunes del lado del servidor.