Archive

Posts Tagged ‘ODI’

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…

Oracle Data Integrator Enterprise Edition 12.1.3.0.1 – Instalación y detalle de opciones avanzadas para Big Data

Oracle anunció recientemente las opciones avanzadas de Oracle Data Integrador Enterprise Edition para Oracle Big Data. La nueva versión (12.1.3.0.1) de ODI, incorpora funcionalidades para trabajar en entornos Hadoop. En este post vamos a estudiarlas, así como la forma de instalar esta versión sobre la Virtual Machine Big Data Lite 4.1, que incluye la última versión CDH5.3.0 de Cloudera Hadoop, donde ya está instalado ODI 12.1.3, así como todos los componentes de Hadoop que necesitamos.

odi12c_logo_ds1big-data

 

Conceptos previos a tener en cuenta

Antes de entrar en detalle en la instalación de componentes Big data de ODI 12c, es conveniente hacer un resumen de conceptos previos a tener en cuenta sobre Big Data:

  • Hadoop: Es un framework para computación distribuida que permite a las aplicaciones trabajar con miles de nodos y petabytes de datos. Hadoop no es un tipo de base de datos, aunque sobre él se ejecutan ciertos tipos de bases de datos NoSQL (tales como HBase), que permiten que los datos se distribuyan sobre miles de servidores. Sobre la base del Hadoop Distributed File System (HDFS), un sistema de archivos distribuido, Hadoop permite el acceso de alto rendimiento a los datos a la vez que ofrece un cierto nivel de disponibilidad. Al igual que otras tecnologías relacionadas con Hadoop, HDFS se ha convertido en una herramienta clave para la gestión de grandes volúmenes de datos y el apoyo a las grandes aplicaciones de análisis de datos.
  • NoSQL: Es una BD del tipo Key-Value en memoria, que ofrece alto rendimiento y procesamiento ágil de la información a escala masiva. En otras palabras, se trata de una infraestructura de base de datos que ha sido muy bien adaptada a las exigencias de Big Data.
  • HBase: Es una BBDD que corre sobre Hadoop. Almacena datos estructurados y semiestructurados de forma natural, y está diseñado para correr en un clúster de ordenadores en lugar de una sola computadora. Características principales:
    • Almacenamiento NoSQL.
    • Provee una API Clave –Valor.
    • Corre en múltiples nodos en un clúster.
    • Nuestra aplicación no sabe si estamos tratando con 1 nodo o con 100 nodos.
    • HBase está diseñado y optimizado para manejar terabytes o petabytes de datos. Es una parte del ecosistema Hadoop por lo que depende de algunas de sus características clave, como redundancia de datos y procesos en segundo plano.
  • MapReduce: Es un modelo de programación para el procesamiento y tratamiento de grandes cantidades de datos no estructurados, en paralelo a través de un grupo distribuido de procesadores u ordenadores independientes (clústeres de servidores). MapReduce basa su funcionalidad en complejos algoritmos matemáticos que permite distribuir una tarea a través de múltiples nodos de manera transparente al desarrollador. El proceso MapReduce se compone de tres fases:
    • 1º fase es la función “map” o “mapper” en la que cada tarea opera sobre un único bloque HDFS y se ejecuta sobre el nodo dónde el bloque está almacenado, generando conjuntos de pares clave/valor intermedios.
    • 2º fase es la denominada “shuffle& sort” y es la encargada de ordenar y consolidar los datos intermedios generados por los “mapper” una vez han finalizado.
    • 3º fase se denomina “reduce” y opera sobre los datos generados en la fase “shuffle& sort” produciendo la salida del resultado final.
    • JobTracker: (Nodo Maestro).
    • TaskTracker: (Nodos Esclavos)
    • El nodo maestro consiste en un servicio demonio llamado JobTracker, el cual se encarga de asignar las tareas a los nodos esclavos.
  • Hive: es una interface que facilita la estructura de datos y permite la escritura de programas MapReduce. Hive utiliza una especia de lenguaje SQL denominado HiveQL, y comparte algunas de sus características, como el uso de tipos de datos primitivos o conectores JDBC y ODBC. Hive es un gran interface para cualquiera que provenga del mundo de las bases de datos relacionales.
  • Pig: es un lenguaje de flujo de datos especialmente diseñado para simplificar la escritura de aplicaciones MapReduce. PIG es una simplificación de MapReduce, que combina dos elementos: el compilador PIG y el lenguaje de script PIG Latin. PIG Latin está basado en el paradigma de flujo de datos, este paradigma se asemeja a las señales eléctricas que fluyen a través de los circuitos eléctricos. El procesamiento en Pig Latin se realiza mediante operadores tales como “Join”, “Filter”, “GroupBy” y “Union”. PIG aporta las siguientes ventajas y características:
    • Es un lenguaje similar a SQL
    • Soporta tipos complejos de datos que pueden ser embebidos como campos de una tabla
    • Soporta la creación de funciones definidas por el usuario
    • Aporta una característica especial llamada “Illustrate” que permite al desarrollador escribir código rápidamente utilizando datos de muestra
  • Spark: Se trata de otra plataforma que proporciona soporte para la implementación de aplicaciones según el modelo MapReduce sobre un clúster Hadoop, pero Spark lleva a  MapReduce al siguiente nivel en el procesamiento de datos, con capacidades como el almacenamiento y procesamiento de datos en memoria y en tiempo real, ofreciendo tasas de rendimiento varias veces más rápidas que otras tecnologías big data.
  • Oozie: Es una aplicación Web basada en Java que permite controlar y programar flujos de tareas dentro del sistema Hadoop, así como la toma de decisiones en tiempo de ejecución.

Pig y Spark support

Hasta ahora ODI12c nos permitió utilizar Hive para cualquier transformación basada en Hadoop. Con esta nueva versión, podemos utilizar también Pig  y Spark, dependiendo del caso de uso, para dar un mejor rendimiento.

Estas dos tecnologías ya están disponibles en la topología, junto con el servidor de datos Hadoop para poder definir dónde extraer los datos, y podemos importar también algunos módulos con los KM para Pig y Spark. Por lo que para trabajar con Pig y Spark con ODI, todo lo que se necesita es crear un flujo de datos lógico en el mapping y elegir su tecnología.

odi1

Pig es un lenguaje de flujo de datos, esto hace que encaje perfectamente con el nuevo modelo de programación orientado a “flujo” recientemente añadido en ODI 12c. La idea es escribir un flujo de datos en Pig latín, donde la carga de trabajo se ejecutará en MapReduce.

Leer más…

Oracle Big Data Appliance: introducción y características

Big Data ApplianceSiguiendo el hilo del post publicado en este mismo blog por January Tabaka hace unos días, sobre los Oracle Engineered System en su versión X5-2, vamos a aprovechar para entrar un poco más en detalle en el Oracle Big Data Appliance (BDA), diseñado para ofrecer un óptimo rendimiento en proyectos Big Data.

Big Data Appliance es un sistema abierto pero con el soporte empresarial de Oracle, que puede ser ampliado con software de terceros que añadan nuevas funcionalidades (con el soporte específico de sus respectivos fabricantes). Orientado al proceso de datos con Hadoop y NoSQL, es capaz de realizar diversos tipos de trabajo, desde los típicos procesos Hadoop (MapReduce 2, Spark, Hive etc.) hasta consultas interactivas SQL con Oracle Big Data SQL. Big Data Appliance es multitenant, es decir, puede ser configurado como un cluster único, o como varios clusters, ofreciendo la flexibilidad necesaria para por ejemplo, disponer de entornos de desarrollo, test y producción.

Desde el punto de vista de mantenimiento del sistema, éste ha sido simplificado incorporando la utilidad (de línea de comandos) para la instalación, actualización, parcheado y expansión Mammoth, que permite desplegar rápidamente las frecuentes actualizaciones del sistema Hadoop sin incurrir en interrupciones de servicio significativas además de crear y/o extender clusters en un rack o entre racks diferentes.

El hardware se ofrece con un mínimo de 6 nodos (starter pack) ampliable de 6 en 6 (in-rack expansion) hasta un máximo de 18 (full rack). Cada nodo ofrece notables capacidades tanto de cálculo como de almacenamiento, siendo sus principales características:

  • 2 Procesadores x 18 Cores Intel ® Xeon ® E5-2699 V3 a 2.3 GHz
  • 128 GB de RAM (4 * 16 DDR4) ampliables a 768 GB por nodo
  • Controlador de disco HBA con 512MB cache de escritura (respaldada con batería)
  • 12 discos SAS de alta capacidad (4TB)  a 7,200 RPM
  • 2 Puertos Infiniband QDR (40Gb/s)
  • 4 Puertos Ethernet a  10 Gb
  • 1 Puerto ILOM Ethernet

con lo que un full rack podría alcanzar unas prestaciones de hasta

  • 288 Cores
  • 2.304 Gb de RAM (o 13.824 con todos los nodos ampliados a 768 Gb de RAM)
  • 864 Tb de disco

Además, los racks de Big Data appliance pueden conectarse entre ellos hasta un total de 18 sin necesidad de switches infiniband adicionales.

Leer más…

Revista Oracleando nº 3 (SPOUG, diciembre 2014)

enero 16, 2015 Deja un comentario

Portada Oracleando 3Se ha publicado el número 3 de la Revista Oracleando, editada por SPOUG – Spain Oracle Users Group.

avanttic  (socio institucional de SPOUG) ha colaborado en este número con publicidad (contraportada) sobre Evolucionar hacia BPM partiendo de una implantación SOA y con la publicación de un artículo sobre Migración de Oracle Warehouse Builder (OWB) a Oracle Data Integrator (ODI), en el que Joan Massegú (Consultor y Técnico Preventa del Área de Business Analytics de avanttic) explica que ahora es el momento oportuno para migrar y presenta la herramienta de migración de OWB a ODI que nos proporciona Oracle.

Este número además, cuenta con un monográfico sobre Aplicaciones (ERP, EPM, CX y HCM) e interesantes Casos de Uso de varias empresas importantes.

Upgrade desde ODI 11g a ODI 12c

Hace unos meses Oracle presentó la nueva versión de Oracle Data Integrator. En este post vamos a detallar los pasos necesarios para migrar los objetos de ODI desde la versión 11g a la versión 12c.

En la instalación de ODI 11g que queremos migrar tenemos creadas tres interfaces que cargan datos de ficheros de texto y tablas Oracle a tablas Oracle. Las interfaces son sencillas, pero tienen joins, filtros y expresiones que necesitamos que se traspasen correctamente si no queremos perder la funcionalidad implementada.

ODI 11g Interface

Para poder migrar una instalación de ODI 11g a 12c es necesario que se cumplan unos requisitos:

  1. La versión de la base de datos donde se instalaron los Master y el Work Repository para ODI 11G tiene que estar soportada y certificada para Oracle Fusion Middleware 12c (comprobarlo en http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html).
  2. La base de datos de los esquemas del Master y del Work Repository 11g tiene que ser UTF-8.

Si así no fuera, hay que migrar previamente a una base de datos que tenga estas características.

Antes de empezar, es aconsejable realizar un backup tanto del Master como del Work Repository 11g porque después de que se haya realizado el upgrade ya no será posible utilizar los esquemas en una instalación de ODI 11g. Para clonar los esquemas involucrados, se han seguido los siguientes pasos:

  1. Export de los esquemas del Master (ODIM) y del Work (ODIW) Repository

    exp userid=ODIM/ODIM file=ODIM11.dmp

    exp userid=ODIW/ODIW file=ODIW11.dmp

  2. Creación de nuevos usuarios

    create user ODIM11 identified by …;
    create user ODIW11 identified by …;
    grant connect, resource to ODIM11, ODIW11;

  3. Import de los esquemas copiados

    imp userid=’system/xxx’ touser=ODIM11 fromuser=ODIM file=ODIM11.dmp

    imp userid=’system/xxx’ touser=ODIW11 fromuser=ODIW file=ODIW11.dmp

  4. Reconfigurar la conexión de ODI 11 a los nuevos esquemas ODIM11 y ODIW11 para comprobar que se hayan clonado correctamente.

Para ejecutar el upgrade, hay que ejecutar el fichero ua.bat (Upgrade Assistant) que se encuentra en la carpeta

    <Oracle_Middleware_Home>\oracle_common\upgrade\bin\ua.bat

de la instalación de ODI 12c. Para poder ejecutar el Upgrade Assistant es imprescindible instalar las parches que vienen con el installer de ODI 12c.

Leer más…

Categorías:Business Analytics Etiquetas: , , , , ,

avanttic in the OPN Solutions Catalog

Oracle dispone de un catálogo en el que aparecen todos los partners que poseen especializaciones acreditadas en productos Oracle.

Se llama OPN Solutions Catalog y se puede buscar directamente por el nombre de un partner, por una especialización concreta, por un país, etc. Aquí tenéis el link para acceder (se requiere disponer de una cuenta de usuario Oracle).

Os dejamos un pantallazo de muestra, fruto de seleccionar la especialización en Oracle Data Integration 11g, que ya os anunciamos la semana pasada que avanttic ha sido el primer partner del mundo en conseguirla.

avtodi-11g

Descubre aquí las especializaciones que avanttic tiene actualmente acreditadas.

Categorías:avanttic Etiquetas: , , ,

avanttic primer partner mundial especializado en Oracle Data Integration 11g

avanttic  es el primer partner a nivel mundial que obtiene la especialización en Oracle Data Integration 11g.

ODI 11g

Esta nueva acreditación, junto a la previa en Oracle GoldenGate, confirma la apuesta de avanttic por el área de Oracle Data Integration Solutions.

También complementa y refuerza el área de Oracle Business Intelligence, en la que avanttic ya poseía las certificaciones en Oracle Business Intelligence Foundation 10 y Oracle Business Intelligence Foundation Suite 11g.

 

avanttic  ha conseguido 2 especializaciones adicionales:

avanttic OEM12c Linux6

Ambas corresponden a nuevas versiones de especializaciones que avanttic poseía previamente: Oracle Enterprise Manager 11c y Oracle Linux 5.

En este momento solamente existe otro partner en España certificado en la versión 12c de Oracle Enterprise Manager.

 

Con estas 3 nuevas acreditaciones avanttic alcanza 21 especializaciones y consolida su posición de referencia a nivel mundial como partner que ofrece exclusivamente servicios sobre toda la pila tecnológica de Oracle.