tutorial que español comandos and hadoop olap mapreduce hbase hive

que - hadoop and hive tutorial



¿Se puede hacer OLAP en BigTable? (5)

En el pasado solía construir WebAnalytics usando cubos OLAP que se ejecutan en MySQL. Ahora, un cubo OLAP como lo usé es simplemente una tabla grande (vale, se almacenó un poco más inteligente que eso) donde cada fila es básicamente una medición o un conjunto agregado de mediciones. Cada medición tiene un montón de dimensiones (es decir, qué nombre de página, useragent, ip, etc.) y un conjunto de valores (es decir, cuántas páginas vistas, cuántos visitantes, etc.).

Las consultas que ejecuta en una tabla como esta suelen ser de la forma (meta-SQL):

SELECT SUM(hits), SUM(bytes), FROM MyCube WHERE date=''20090914'' and pagename=''Homepage'' and browser!=''googlebot'' GROUP BY hour

Así que obtienes los totales de cada hora del día seleccionado con los filtros mencionados. Un inconveniente fue que estos cubos generalmente significaban un escaneo completo de la tabla (varias razones) y esto significaba una limitación práctica en el tamaño (en MiB) en que se podían hacer estas cosas.

Actualmente estoy aprendiendo los pormenores de Hadoop y los gustos.

Ejecutar la consulta anterior como un mapreduce en una BigTable parece bastante fácil: simplemente haga que la clave sea "hora", filtre en el mapa y reduzca al sumar los valores.

¿Puede ejecutar una consulta como la mostrada arriba (o al menos con el mismo resultado) en un tipo de sistema BigTable en "tiempo real" (es decir, a través de una interfaz de usuario y el usuario obtiene su respuesta lo antes posible) en lugar del modo por lotes?

Si no; ¿Cuál es la tecnología apropiada para hacer algo como esto en el ámbito de BigTable / Hadoop / HBase / Hive y los gustos?



Incluso se ha hecho algo así (tipo de).

Motor de agregación / resumen de LastFm: http://github.com/zohmg/zohmg

Una búsqueda en google dio como resultado un proyecto de código de google "mroll" pero no tiene nada excepto información de contacto (sin código, nada). Aún así, quizás quiera contactar a ese tipo y ver qué pasa. http://code.google.com/p/mroll/



Mi respuesta se refiere a HBase, pero se aplica igualmente a BigTable.

El datacube open-sourced de Urban Airship, que creo que está cerca de lo que quieres. Vea su presentation aquí.

Adobe también tiene un par de presentaciones ( here y here ) sobre cómo hacen "OLAP de baja latencia" con HBase.


Si está buscando un enfoque de escaneo de tabla, ¿ha considerado Google BigQuery? BigQuery realiza escalamiento automático en la parte posterior que brinda respuesta interactiva. Hay una buena sesión de Jordan Tigani del evento Google I / O 2012 que explica algunos de los aspectos internos.

http://www.youtube.com/watch?v=QI8623HlYd4

No es MapReduce pero está orientado a la exploración de tabla de alta velocidad como lo describió.