Archivo

Archive for the ‘Business Analytics’ Category

Uso de servicios REST y ficheros complejos con ODI 12c (II)

odirwsEn la primera parte de este post vimos como realizar una petición vía REST Webservice a la API de Geocoding de google con ODI 12c, a partir de una dirección almacenada en una tabla en nuestra BD Oracle.

En esta segunda parte veremos como acceder al fichero de respuesta obtenido en la primera parte y actualizar la tabla original con las coordenadas UTM contenidas en el fichero JSON, para lo que deberemos:

  • Crear un fichero XSD que defina la estructura del fichero JSON
  • Configurar la topología física para el acceso al fichero JSON
  • Desarrollar un mapping que lea el fichero JSON y actualice la tabla, y un package que coordine la ejecución

Para comprender mejor los pasos que vamos a seguir en el package, sería interesante primero dar un vistazo rápido al capítulo de la descripción general del funcionamiento del procesamiento de ficheros complejos, en la documentación oficial de ODI 12c. Dicho documento queda resumido en el siguiente esquema, y descibre como el fichero complejo (JSON en nuestro caso) es traducido y cargado al vuelo por el driver en un esquema de BD, que será con el que trabajaremos en realidad (aunque de manera transparente).

ODI_JSON_CFD_Process

A nivel de topología necesitamos definir dentro la tecnología “Complex File” un DataServer (al que llamamos Coordenates) y un modelo físico (al que también llamamos Coordenates) como se aprecia en la siguiente captura:

ODI_JSON_TOPOLOGIA

Utilizaremos el botón “Edit nXSD” para invocar un asistente que nos ayudará con la creación del fichero nXSD que define la estructura del fichero JSON a procesar.

Leer más…

Categorías:Business Analytics Etiquetas: , , ,

Uso de servicios REST y ficheros complejos con ODI 12c (I)

odirwsHace unos días me encontré frente a una tabla de direcciones con coordenadas UTMS en la que faltaban las coordenadas de diez registros de entre más de tres mil. Iniciar el proceso para que los usuarios afectados actualizasen los datos de los registros de su responsabilidad llevaría inevitablemente cierto tiempo hasta su resolución, así que decidí echar mano de Google.
Rápidamente identifiqué la API necesaria (Geocoding) y elegí el formato  para la respuesta. Verifiqué el funcionamiento con una invocación manual, exploré el fichero .json de respuesta (> 6Kb) y hallé los 50 bytes con los datos que buscaba. Los comprobé con la función inversa, introduciendo las coordenadas obtenidas en Google Maps, que me ubicó en la dirección original. Veamos un ejemplo:

https://maps.googleapis.com/maps/api/geocode/json?address=Aragó+180,+Barcelona&key=************************

Tras esta verificación pensé: ya sólo me faltan nueve. Así que siendo pragmático, hice unos cuantos cut&paste y completé en unos minutos las coordenadas de los diez registros. Pero me quedé con una inquietud: ¿qué habría ocurrido si en lugar de sólo diez hubieran habido más de tres mil registros sin coordenadas?
La respuesta fue clara: automatizarlo con ODI. Y así fue como se originó la decisión de escribir este post, ilustrando la solución a dos necesidades bastante cotidianas:

  • Utilizar un servicio REST para obtener datos de la web
  • Procesar un fichero JSON

Tanto el orden de las necesidades como “el sentido” del flujo de datos pueden variar, así como su relación con alguna de las tablas en BD (que en nuestro caso, será una tabla con direcciones), no obstante espero que el ejemplo sea suficientemente ilustrativo.
Una segunda motivación para este post es la “actualización de conocimientos”. Estas dos tareas ya eran posibles con ODI 11g, pero veremos que ODI 12c simplifica su ejecución y a la vez nos ayuda a conservar los desarrollos más ordenados.

Utilizar un servicio REST para obtener datos externos

La llamada es sencilla, la API sólo requiere dos parámetros:

  • la dirección buscada (formateando adecuadamente los espacios, numeración y comas)
  • la clave de desarrollador para poder utilizar la API (que es constante)

Quizá lo más complicado sea parsear la respuesta, pues hay cierta redundancia de datos, y utilizar el formato XML en lugar de JSON tampoco variaría mucho. Así pues, iremos por partes: primero obtendremos los datos de la respuesta del servicio y después procesaremos la respuesta (fichero .json).
Para configurar el servicio, lo primero que necesitamos crear es un “Data Server” al que llamaremos “GoogleGeocod”, que apuntará a la URL del endpoint del servicio REST: https://maps.googleapis.com.
Acto seguido, crearemos un esquema físico bajo el nuevo servicio:

ps_geocode

Leer más…

Nuevas características OBIEE 12.2.1.1 y BI Publisher 12.2.1.1

noviembre 25, 2016 Deja un comentario

Hace un par de meses Oracle incorporó características nuevas e interesantes en la reciente versión OBIEE 12.2.1.1.0, sobre todo en las opciones de dashboard, repositorio, conexiones ODBC y BI Publisher.

Se puede desplegar como una actualización de 12.2.1 ejecutada por el Asistente de actualización (Doc ID 2.153.433,1)  o como una nueva instalación.

oracle-bibiplogo12c

A continuación enumeramos las principales nuevas características OBIEE 12.2.1.1.0:

1.Dashboard con subpáginas:

Nueva capacidad de agregar páginas secundarias dentro de los cuadros de mando. Esta característica permitirá a los diseñadores crear múltiples páginas secundarias para cada página del panel.

1

En la ventana “Add Subpage”, se pueden nombrar páginas secundarias y añadir una descripción.

2

Una vez que se haga clic en OK, la subpágina se añadirá a la página del panel para poder añadir contenido a la página secundaria.

2.Repositorio (RPD): Nueva opción de habilitar datos Fragmentados en tablas

Una de las novedades interesantes para los desarrolladores es la capacidad de mejorar el rendimiento de las fuentes de tablas lógicas fragmentadas, mediante el uso de los datos con la característica de activación por Fragmento.
Leer más…

Oracle Data Visualization Desktop – Analice sus datos desde su escritorio

septiembre 23, 2016 2 comentarios

Recientemente Oracle ha puesto a nuestra disposición una potente y fácil herramienta de visualización de datos, que desde nuestro escritorio nos permite explorar, mezclar y compartir distintas visualizaciones de datos. Oracle la ha llamado Data Visualization Desktop (DVD) ya que se instala directamente en nuestro propio ordenador con Windows 7, 8 o 10.
2
DVD nos permite usar todas sus capacidades sin ningún requisito de infraestructura de servidor de middleware remoto.

1Se instala, se abre y se cierra al igual que cualquier otra aplicación de escritorio, permitiéndonos crear visualizaciones de datos, incluso históricas, desde una variedad de fuentes, incluyendo hojas de cálculo, bases de datos y aplicaciones BI. Pudiendo combinar y mezclar los datos deseados, usando visualizaciones inteligentes, que nos facilitan ver rápidamente patrones de interés, para seguir profundizando en nuestros análisis, seleccionando y filtrando datos destacados, mediante informes maestros o sincronizando la navegación del detalle de todos los resultados visuales deseados a la vez.

Leer más…

OBIEE – Cómo configurar y mejorar su rendimiento con Big Data

junio 29, 2016 4 comentarios

En los últimos meses me he vuelto fan de la tecnología Big Data con los productos de Oracle y me parece interesante evaluar la evolución de Oracle en la tecnología de OBIEE para trabajar con Big Data.

En uno de mis últimos post he hablado sobre el papel de Big Data Discovery, pero OBIEE también juega un papel importante (a través de su capacidad para analizar grandes volúmenes de datos y con visualizaciones de modelos de datos en informes y cuadros de mando) lo que significa, en la práctica, que OBIEE es capaz de conectar a fuentes de datos Hadoop con Hive e Impala.

Ahora bien, ¿cómo podemos configurar OBIEE para obtener el mejor rendimiento en uso de sus componentes visuales y cómo obtener la mejor eficiencia de análisis de una gran cantidad de datos estructurados?

Para dar una respuesta más en detalle, vamos a profundizar en el uso de los controladores de Hive y Spark actuales, y su configuración con OBIEE, para obtener esta eficiencia.

apache-spark1

 

Comparación de la evolución de OBIEE con Big Data

  • OBIEE 11.1.1.7 dio un primer paso en Big data, con su capacidad para utilizar Apache Hive como una fuente de datos, permitiendo acceder a fuentes de datos Hadoop a través de dos tecnologías relacionadas: Hive y MapReduce.

La desventaja es que Hive, es generalmente considerado demasiado lento para ad-hoc, usando consultas y HiveServer1 con controlador ODBC de OBIEE.

Pero una de las ventajas, que nos ofrece esta versión es su seguridad, porque Hadoop no es un sistema intrínsecamente seguro, está protegido solamente por seguridad de red, lo que significa que una vez establecida la conexión, se tiene acceso completo al sistema, pero para ello se crea la Seguridad Kerberos,  como una opción de instalación del software,  el cual toma medidas adicionales para autenticar con el cliente Cloudera Hadoop, el cual se puede configurar desde el BI Administrator de OBI.

  • OBIA 11.1.1.8.1 salió a principios de mayo de 2014, con resultados muy similares en el potencial Big Data.
  • OBIEE 11.1.1.9 salió en mayo de 2015 (también queremos hacer mención a OBIEE 12c, que aparte nos trae análisis avanzados con preconstrucción de nuevas funciones simples en R y Extension Framework, que no vamos a profundizar porque ya se ha comentado en anteriores post, introduciendo nuevas características de compatibilidad de HiveServer2 y Cloudera Impala (lo cual promete mejoras de rendimiento notables sobre Hive). En uso de servidores Linux (con los controladores DataDirect ODBC) y Windows (importaciones de Metadatos desde Cloudera Impala usando controlador ODBC de Windows), pudiendo descargar la herramienta de administración directamente desde Cloudera, y con la posibilidad de utilizar el Apache Spark, para evitar esa lentitud de informes ad-hoc, y muchas más ventajas, las cuales nos permiten plantearnos unas serie de preguntas:

¿Os gustaría?

  • ¿Ejecutar programas 100 veces más rápidos en memoria o 10 veces más rápido en disco?
  • ¿Escribir aplicaciones en Java, Python o Scala de manera rápida a la vez que podéis construir aplicaciones paralelas que aprovechan un entorno distribuido?
  • ¿Combinar SQL, streaming y análisis complejos en una misma aplicación?

Todo esto es lo que puede hacer Apache Spark. Por ello, en conjunto con OBIEE su objetivo es ser capaz de ejecutar consultas interactivas en fuente de datos desde Spark (con procesamientos en memoria 100 veces más rápidos que los conseguidos utilizando MapReduce) y admitiendo leer o escribir datos almacenados en el Apache Hive.

 

Leer más…

Twitter en cuadros de mando OBIEE 12c

febrero 24, 2016 2 comentarios

twitterIntrodujimos en este post anterior las enormes posibilidades que abrían las funcionalidades de Advanced Analytics de OBI EE 12c, y más concretamente, EVALUATE_SCRIPT que permite invocar scripts de desarrollo propio y capturar sus resultados para mostrarlos en nuestros análisis.

Vamos a profundizar un poco más en esta funcionalidad con un ejemplo concreto y muy interesante que nos va a permitir visualizar en nuestro cuadro de mando OBI “qué se cuece en la olla de twitter”.

Mediante un simple desarrollo, podremos introducir un texto (podría ser una marca, un artículo, …), capturar los comentarios en twitter (on-line) y visualizarlo en forma de wordcloud.

dashboard_tweeter

Esta sencilla aplicación, añade mucho dinamismo a nuestros cuadros de mando, sin gran esfuerzo, pues nos apoyamos en librerías R ya existentes.

En este caso, utilizamos un package llamadoo twitteR de Jeff Gentry (disponible en GitHub, donde encontraremos documentación e información de trouble shooting, y en los repositorios CRAN).

Vamos a profundizar un poco más en cómo se hace…

Leer más…

Categorías:Business Analytics Etiquetas: , ,

¿Por qué OBIEE no aparece en el Cuadrante Mágico de Gartner 2016 para BI-Analytics?

Para sorpresa de muchos, en el último Cuadrante Mágico para Plataformas Analíticas y de Business Intelligence de Gartner (febrero 2016), la consultora ¡ha dejado a Oracle Business Intelligence (OBI) fuera! No tan sólo del cuadrante de líderes, donde solía (y debería) estar, sino que lo ha excluido completamente del cuadrante…

Chocante, tras la amenaza del año pasado, en que Gartner situó a OBI en el límite inferior de los líderes, y tras los esfuerzos y el salto hacia adelante realizado por Oracle con OBI 12c y su profunda renovaciónen cuanto a visualización, usabilidad, capacidad analítica, arquitectura y facilidad de administración.

En avanttic pensamos que, si bien Gartner habrá tomado esta decisión objetivamente según sus criterios de evaluación, dichos criterios pueden haber obviado algunas de las realidades y necesidades de la informática corporativa y de las fortalezas de la plataforma analítica de Oracle, por lo que vamos a intentar ponerlas en valor y tranquilizar así a todo aquel que se haya extrañado de la exclusión de OBI este año.

Gartner_Analytics_2016

El artículo de Gartner especifica concretamente en el caso de Oracle que:

Oracle has dropped from the Magic Quadrant entirely, because it has been slow to respond to the shift in market dynamics and does not have a product offering with enough market traction that meets the modern platform criteria established this year.

Y si revisamos el Inclusion Criteria de Gartner, entenderemos un poco más la ausencia de Oracle:

Products that require significant IT involvement, either internal or external to the platform, to load and model data, create a semantic layer, build data structures as a prerequisite to using the BI Platform or are IT developer-centric platforms focused on building analytic applications do not meet the criteria of a modern BI and analytics platform and were not evaluated further for inclusion.

Las soluciones de Oracle para Business Intelligence y Business Analytics se ajustan bastante a los criterios de “no inclusión” del informe. A nuestro criterio, son justamente las características que permiten construir soluciones de inteligencia de negocio de tipo corporativo:

  • Capa de metadatos: como garantía de calidad de los datos en un sentido amplio, contemplando características tan críticas como la veracidad (“fuente única de verdad”) o la trazabilidad (determinar mediante la integración entre OBI y ODI cómo se ha calculado una métrica).
  • Seguridad corporativa (incluso a nivel de fila).
  • Plataforma abierta: federación de múltiples orígenes de datos y tecnologías, integración con otros paquetes analíticos (como R).
  • Completitud: satisfacer también las necesidades de reporting y alertas.
  • Arquitectura: cloud-híbrido, alta disponibilidad.
  • Soporte de primera clase 24×7.

Por contra, de la mano de soluciones de BI de tipo autoservicio, en las que no haya un mínimo data management, las organizaciones podrían correr el riesgo de sufrir una regresión en la calidad de los datos y volver a una etapa anterior a la “fuente única de verdad”.

Leer más…