Inicio > Tech - Business Analytics > OBIEE – Cómo configurar y mejorar su rendimiento con Big Data

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

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.

 

Cómo realizar esta configuración

Enlaces descarga software:

Una vez que se tenga descargado el software, el siguiente paso es configurar:

1. Servicio Spark

  • Instalamos y arrancamos mediante comandos el servicio Apache Spark:

Ruta: /root/Desktop/spark-1.3.0/sbin/

./start-all.sh

  • Una vez que el servicio está en funcionamiento, navegamos a la interface de Spark:

http: // [nombre de host]: 8080

2

  • Iniciamos el servicio “Thrift Spark Server”, que se dirigirá remotamente a conectarse al servicio de Spark:

./sbin/start-thriftserver.sh

3

Para más detalles sobre el Apache Spark Thrift Server, puede visitar el siguiente enlace.

2. Conexiones ODBC

Creamos conexión con HIVE, mediante la conexión ODBC en Windows, elegimos el conector “Cloudera ODBC para Apache Hive”.

4

Ahora añadirnos  el host/puerto y seleccionamos HiveServer2

5

6

3. Crear datos en HIVE

Si trabajas con un gran volumen de datos en un clúster de Hadoop, y no dispones de suficientes conocimientos o tiempo para programar los algoritmos MapReduce, Hive es una excelente herramienta para obtener los datos que te puedan interesar.

Para ello entramos con el navegador a la interfaz del ‘Hue’ que nos habilita varias herramientas disponibles.

Url: http://localhost:8000/

HUE o Hadoop User Experience, es una aplicación web que permite una interacción más amigable con componentes de Hadoop como la búsqueda sobre el sistema distribuido de Hadoop HDFS, Hive, Impala así como trabajar con workflows de Oozie.

hue-ui

Concretamente accedemos a la opción ‘File browser’.

Imagina tener cientos de pesados fichero de log de un servidor, lo difícil que es bucear por ellos. Con Hive resultaría sencillo crear una tabla a partir de los datos del fichero y filtrar por ejemplo las líneas que contengan ciertas características destacadas, por ejemplo determinados errores.

Creamos la tabla en HIVE:

Ahora vamos a crear una tabla para proporcionar estructura a los datos del fichero. La sintaxis es muy parecida a la de SQL, se le indica el nombre de la columna y el tipo de datos. Para este ejemplo sólo creamos una tabla, según el caso se podría normalizar y sacar varias tablas que clasificaran aún más los datos de los que disponemos.

create table if not exists tb_pruebas

(

centro string,

descripcion string,

importe int,

)

row format delimited fields terminated by ‘;’

Cargamos Datos:

load data inpath ‘/user/hue/prueba_datos.csv’ overwrite into table tb_pruebas;

4. Administración OBIEE

Ahora que hemos creado una fuente de datos y cargamos los datos en Hive, el siguiente paso es crear los metadatos en la herramienta de administración OBIEE.

Abrimos el RPD de OBIEE, desde el Administrator:

En primer lugar, crear una nueva base de datos (Haga click sobre la capa- física> Nueva base de datos).

7

A continuación, un nuevo Pool de conexiones.

8

Vamos a probar la conexión, para ello hacemos clic en el botón derecho sobre el conjunto de conexiones y seleccionamos  importaciones de metadatos.

9

Si la conexión se realiza correctamente, se muestra la ventana “Import Metadata”:

10

Haga clic en Siguiente.

11

A continuación se crea una conexión Hive Server2.

12

Ahora creamos la tabla de forma manual. Esto se hace haciendo clic sobre el botón derecho sobre la opción “HIVE”> Nuevo Objeto> Tabla Física.

13

Añadimos los campos:

14

Luego creamos 2 alias en el modelo de negocio con el fin de ser capaz de crear informes interactivos simples en OBIEE, cruzando datos.

15

Mostramos el resultado en OBIEE 12c:

Arrastramos los indicadores y elegimos opciones de gráficos deseados.

16

Ahora, con OBIEE 12 tenemos la gran ventaja de poder descubrir datos fácilmente con la herramienta Visual Analytics o con OBIEE 11.1.1.9 y 12c crear determinados cuadros de mando, y usar todas sus características de análisis con el mejor rendimiento, descubriendo datos desde Hadoop.

 

Conclusiones

17

Gracias al apoyo de las tecnologías entre sí, podemos trabajar con la capa de metadatos que nos ofrece el repositorio (RPD) que utiliza OBIEE. De este modo los desarrolladores pueden crear indirectamente conexiones en Spark, que consultan datos a través de Hadoop mediante Hive:

Sin necesidad de:

  • Aprendizaje de los distintos lenguajes como HiveQL para trabajar con Hive, (el cual es parecido a SQL).

Y pudiendo:

  • Conectar ODBC y JDBC para trabajar fácilmente.
  • Acceder a fuentes de datos de Hadoop (sin necesidad de codificar algoritmos), con las grandes ventajas de usar el Apache spark.
  • Analizar sus datos  en OBIEE, como cualquier otra fuente de datos con el potencial de Hive-Spark, mejorando el rendimiento, como hemos comparado es 100 veces más rápido en memoria que en disco.
  • Poder utilizar todos los componentes de análisis que nos proporciona la herramienta OBIEE, para descubrir y analizar fácilmente datos, desde Hadoop, pudiendo realizar cuadros de mandos potentes para sus análisis, estadísticos o predictivos.
  1. Diana
    julio 2, 2016 en 01:57

    hola!

    me gustaria ver como me puedo conectar con hive, ya que ya hice la coneccion con el odbc , pero al hacer la coneccion con el administrador no me permite ver la tabla.

    no se si se requiera de un archivo tnsnames.ora en donde se agregue la coneccion

    estoy utilizando obiee 12c no se si cambie la forma de conectar

    • Raúl Tarifa
      julio 4, 2016 en 12:33

      Hola, la conexión entre Hive y OBIEE 11g y 12c no cambia, es similar.

      El controlador HiveODBC tiene que ser instalado en el entorno de Windows, de manera que la herramienta Administración de BI se puede conectar a Hive y devolver metadatos de la tabla.

      Para cargar la metadata por defecto no la encuentra, se tiene que crear la metadata de forma manual, puedes comprobar que funciona haciendo test a la conexión abierta en hive.

      Pero la ejecución de consultar de hiveql solo se pueden desde un servidor de linux, pero si puedes ver los datos de HIVE desde RPD instalando en tu equipo el cliente ODBC para windows.

      Te dejo un link con los pasos de conexión ODBC:
      http://docs.oracle.com/cd/E28280_01/bi.1111/e10540/deploy_rpd.htm#BIEMG1181

      A destacar comentarte que la configuración de la conexión ODBC en odbc.ini, este nombre debe coincidir con el nombre RPD ODBC

      Un saludo

  2. Diana
    julio 5, 2016 en 20:16

    hola!

    gracias por tus comentarios, sin embargo sigo con problemas ya que por ejemplo el odbc.ini no lo encuentro con ese nombre si no como odbcinst.ini

    asi tambien la conexion que habia podido lograr ya no me deja conectarme, y es que no se si sea porque tengo windows 10

    • Raúl Tarifa
      julio 12, 2016 en 14:29

      La conexión de RPD desde Windows, no hay ningún problema con la 10, pero el servidor donde se ejecute las consultas Hive desde OBI, sí que tiene que ser linux y tener instalado el driver de Cloudera para Linux, configurando los ficheros de OBI con la ruta donde encuentre Cloudera Hive ODBC Driver 64-bit o 32bit
      Fichero: odbc.ini
      Fichero: odbcinst.ini
      (Con el mismo nombre que se llame desde el RPD, para que encuentre el driver)
      Comentar que desde el RPD, solo se muestra los resultados limitado de los 100 primeros registros, pero no lista las tablas existentes en Hive, hay que identificarlas manualmente con el mismo nombre.
      Un saludo

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: