Archivo

Archive for the ‘Business Analytics’ Category

Razones para utilizar Big Data SQL v 3.1

septiembre 1, 2017 Deja un comentario

Siguiendo la línea de lo comentado en anteriores posts de Oracle Big Data Appliance (BDA) sobre características y evolución, aprovecharemos para hablar de las nuevas características de Oracle Big Data SQL 3.1. Dicho software está disponible con Oracle Database 12C en combinación con el sistema Oracle Exadata Engineered y el sistema de ingeniería de dispositivos Oracle Big Data.

El uso del sistema Oracle Engineered tiene mucho sentido ya que es capaz de utilizar InfiniBand, con conexiones entre dos sistemas para eliminar el cuello de botella de la red, y así poder obtener distintas partes de información desde una consulta SQL. Además, permite acceder en línea al sistema de base de datos con el funcionamiento del Exadata, permitiendo un almacenamiento de la información y un procesamiento de cálculo realizado en gran parte en los nodos de almacenamiento. Esto asegura que más ciclos de CPU están disponibles para otras tareas, clasificación, filtrado y capacidad de almacenamiento.

Cuando ciertas partes de los datos residen en una base de datos NoSQL y otras en un clúster HDFS, surgen problemas de tiempos de respuesta además de abundante codificación adicional que permite obtener un resultado de cruce de datos necesario y posible.

Por eso Oracle anuncióOracle Big Data SQL“, mejorando su v 3.1 y asegurando “consultas SQL rápidas y seguras en todos sus datos” sobre el lenguaje SQL estándar que conocemos, el cual permite consultar datos no sólo en la base de datos Oracle sino también con datos que residen desde “otros puntos”.  Dichos puntos son los clústers Hadoop HDFS y las bases de datos NoSQL, lo cual nos permite extender el diccionario de datos de Oracle y almacenar información de los datos en los clústers NoSQL o Hadoop HDFS, permitiendo que la Base de datos Oracle pueda hacer uso de esas fuentes en combinación con los datos almacenados.

Oracle Big Data Appliance, es un sistema abierto, multiusos para Hadoop y de procesamiento NoSQL. También está diseñado para ejecutar diversas cargas de Hadoop y consultas SQL interactivas mediante Oracle Big Data SQL. Estas capacidades están disponibles en la instalación, así como en el servicio de Oracle Big Data Cloud Service que ofrece nuevas características de mejora en su última versión.

Big Data SQL v3.1 ahora soporta:

  • Exadata a Big Data Appliance.
  • Exadata a clúster hadoop de commodities (CDH & HDP).
  • Oracle Database 12c a Big Data Appliance.
  • Oracle Database 12c a los clústers hadoop de productos básicos.
  • Oracle SuperCluster a Big Data Appliance (aún no certificado).

Instalación puede ser desde dos sistemas diferentes:

Leer más…

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: , ,