Acceso a datos en tiempo real con Qlik Sense

Visitas: 1216

Actualmente vivimos en un mar de datos, el big data. Aprovechar esta cantidad esta información representa un gran reto para las empresas y, sobre todo, una gran oportunidad. Además de la cantidad, para algunos de estos datos es necesario tener en cuenta la velocidad. Ya que, si no son analizados inmediatamente después de su creación, pierden mucho valor. Nace así la necesidad de tratar grandes volúmenes de datos en tiempo real (streaming).

Casos de uso

Los casos de uso en que el streaming / tiempo real puede ser aplicado para ofrecer soluciones son muchos y crecen constantemente. Por ejemplo, puede ser utilizado para analizar:

  • Ficheros de log
  • Sensores
  • Marketing Digital
  • Internet de las cosas (IoT)
  • Transacciones financieras
  • Proveedores de datos estándar
  • Redes sociales
  • Bases de datos,ERP, CRM,...

Y su utilización nos puede ayudar en multitud de facetas: 

  • Notificar acciones antes de que ocurran (un cliente está aproximándose a su límite de gasto)
  • Eliminar fallos en procesos productivos (un grupo de sensores están detectando cambios de temperatura según un patrón)
  • Cambios de estrategias bajo demanda (¿qué tipo de anuncio deberían ver los clientes ahora?)  
  • Métricas de Seguridad (identificar anomalías, intentos de acceso,...)
  • Analítica predictiva para tomar acciones correctivas,...

Qlik Sense y tiempo real

Qlik Sense permite acceder a datos masivos en tiempo real  de muchas formas. En este post, mostraremos un ejemplo de como QlikSense interactúa con HDFS a través de una distribución de Cloudera. HDFS es un sistema de ficheros especialmente diseñado para grandes volúmenes de datos y que permite acceder a ellos en streaming.

Integración

Qlik Sense puede conectar a Cloudera como fuente de datos utilizando el Qlik ODBC Connector Package y los driver Apache Hive y Cloudera Impala.   

Los datos pueden ser extraídos  como una carga por lotes (utilizando el conector  Hive) o en tiempo real a través de la función Direct Discovery de Qlik Sense (conector Impala). En el contexto de una aplicación Qlik Sense, las conexiones a Cloudera se convierten en una fuente de datos que puede coexistir con otras (bases de datos relacionales, archivos planos, etc.) dentro del modelo asociativo de la aplicación.

Análisis de datos con Direct Discovery

Qlik Sense puede extraer datos de Cloudera y usarlos en una aplicación, de tres formas distintas:

  1. En memoria, como un proceso de carga por lotes normal.
  2. Mediante Direct Discovery, como una extracción en tiempo real.
  3. En modo híbrido, donde una parte del modelo de datos se carga utilizando un proceso de carga por lotes y en la otra parte se mantiene el acceso en tiempo real.

La Opción 1 es similar a una carga normal de Qlik Sense, donde todo el modelo se carga de una vez en memoria para poder trabajar. En las opciones 2 y 3 es donde la opción del tiempo real nos abre nuevas posibilidades.

Qlik Sense utiliza una sintaxis específica (Direct Query) para aquellas construcciones que se mantienen en tiempo real. Esta sintaxis permite que los elementos indicados no se carguen directamente en el modelo pero estén a disposición del usuario para combinarlos con los elementos cargados en memoria.

Cuando un campo Direct Discovery se utiliza en una tabla, la consulta SQL correspondiente se ejecuta en la fuente de datos externa (en este caso Cloudera). Al finalizar, el resultado de la consulta se muestra en la tabla.

Una metodología común es mantener las tablas de hechos como tablas de Direct Discovery y cargar el resto del modelo de datos en la memoria (método híbrido). Este tipo de configuración nos permite un análisis rápido de los maestros de dimensiones para filtrado mientras que accedemos a los hechos en tiempo real.

Así, cuando se realizan las selecciones en la aplicación, los valores de los datos asociados a los campos de detección directa se utilizarán como un filtro para todas las otras consultas. Con cada selección, se volverán a calcular las tablas de Direct Discovery.  Es posible usar condiciones de cálculo para establecer una regla que indica cuando la tabla se debe calcular. Hasta que se cumpla esta condición, Qlik Sense no ejecutará consultas y no será necesario reconectar la tabla de hechos. Además, se pueden tener varias Direct Discovery en el modelo.

Qlik Sense es muy eficiente en la combinación de múltiples fuentes de datos, por lo que puede ser muy útil para organizaciones que necesiten analizar datos que residen en Hadoop con otros que residen en otras fuentes locales.

Direct Discovery puede ser utilizado contra de cualquier fuente de datos compatible con SQL tales como:

  • Hadoop (por ejemplo, Cloudera) a través de conectores ODBC.
  • Fuentes de datos ODBC/OLEDB como bases de datos relacionales comerciales comunes.
  • Conectores personalizados basados ​​en SQL (SQL SAP Connector, conectores QVX customizados  para almacenes de datos compatible con SQL,...)
  • Otras fuentes basadas en SQL (SAP HANA / Parstream / HP Vertica)

En resumen

En este artículo hemos visto como el acceso a datos en tiempo real se está convirtiendo en una herramienta indispensable para las empresas con grandes volúmenes de datos.  A continuación se ha mostrado algunas de las características con que cuenta Qlik Sense para abordar este reto.

Si estás interesado en proyectos de Big Data no dudes en consultar con nosotros.

Fotografía de portada: Freepik

Autor

Imagen de Juan Reverte Bernabeu

Consultor Business Analytics

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.