You are on page 1of 58

UNIVERSIDAD NACIONAL DE

INGENIERA
Facultad de Ingeniera Industrial y de Sistemas

GESTOR DE BASE DE
DATOS HADOOP
Administracin de Base de Datos

PROFESOR:

Ing. Velarde
INTEGRANTES:

LIMA, 17 DE MAYO DEL 2016


Ao de la Consolidacin del Mar de Grau

CONTENIDO
Contenido...................................................................................................................................2
1

HISTORIA..........................................................................................................................5

INTRODUCCIN A HADOOP.........................................................................................7
2.1

Caractersticas Generales Hadoop:..............................................................................7

2.1.1

Integridad.............................................................................................................7

2.1.2

Mltiples Usos.....................................................................................................8

2.1.3

Escalabilidad........................................................................................................8

2.1.4

Web enabled para e-business................................................................................8

2.1.5

Facilidad de instalacin y uso..............................................................................8

2.1.6

Universalidad.......................................................................................................8

2.1.7

Ejemplos de los Formatos de datos soportados por HADOOP:..........................8

VERSIONES DE HADOOP..............................................................................................9
3.1

3.1.1

Mejoras de empaquetado del producto................................................................9

3.1.2

Mejoras en la compresin....................................................................................9

3.1.3

Mejoras en la capacidad de gestin....................................................................10

3.1.4

Mejoras en pureXML.........................................................................................10

3.1.5

Mejoras en la supervisin...................................................................................11

3.1.6

Mejoras en el rendimiento..................................................................................12

INSTALACIN................................................................................................................14
4.1

Creacin de un usuario:.............................................................................................14

4.2

Configuracin SSH y la generacin de claves:.........................................................14

4.3

Instalacin de Java.....................................................................................................15

4.4

Hadoop Modos de funcionamiento...........................................................................16

4.4.1

Instalar Hadoop en modo autnomo..................................................................17

4.4.2

Instalar Hadoop en Pseudo modo distribuido....................................................19

4.5
5

HADOOP Versin 2.6.4..............................................................................................9

Hadoop Instalacin Verificacin...............................................................................22

DATOS HADOOP............................................................................................................24
5.1

Accediendo a datos HADOOP..................................................................................24

5.1.1

Qu constituye una base de datos hadoop?......................................................24

5.1.2

Resumen.............................................................................................................26

5.2

Trabajando con datos HADOOP...............................................................................26

5.2.1

Data manipulation language (dml).....................................................................26

5.2.2
Usando la clusula where para limitar la cantidad de datos retornados por una
consulta 27

5.2.3

Usando un conjunto de operadores para combinar dos o ms consultas...........28

5.2.4

Usando el enunciado insert para aadir nuevas filas a tablas o vistas...............29

5.2.5

Usando el enunciado update para cambiar datos de tablas o vistas...................29

5.2.6

Usando el enunciado delete para eliminar datos................................................29

FUNCIONES COMPLEMENTARIAS DE HADOOP UDB..........................................30


6.1

Business Intelligence para HADOOP UDB.............................................................32

6.1.1
6.2

HADOOP Data Warehouse.......................................................................................33

6.2.1

Esquema conceptual de un HADOOP Data Warehouse....................................34

6.2.2

Principales Problemas del HADOOP Data Warehouse......................................35

GESTIONAR BIG DATA CON MEDIANTE HADOOP................................................36


7.1

Big Data.....................................................................................................................36

7.2

Caractersticas de Big Data.......................................................................................37

7.2.1

Anlisis con Big Data.........................................................................................37

7.2.2

Funcin de Tabla Java Generic..........................................................................38

7.2.3

Pasos para crear una funcin de Tabla Java Generic..........................................39

7.3

Funcionalidad de Business Intelligence.............................................................32

Usar efectivamente las utilidades de movimiento de datos de HADOOP................40

7.3.1

Introduccin.......................................................................................................40

7.3.2

Opciones de movimiento de datos de HADOOP...............................................40

7.3.3

Retos del movimiento de datos..........................................................................41

7.3.4

Tcnicas de movimiento de datos de almacn de HADOOP.............................41

7.3.5

Pros y contras de cada tcnica............................................................................50

Desarrollo de aplicaciones de HADOOP en entornos de desarrollo integrados...............52


8.1

VENTAJAS BASE DE DATOS HADOOP..............................................................54

8.2

DESVENTAJAS........................................................................................................55

8.3

ESCALABILIDAD...................................................................................................55

8.4

FACILIDAD DE INSTALACION Y USO...............................................................55

8.5

PLATAFORMAS.......................................................................................................56

8.6

RECUPERACION DE DESASTRES.......................................................................56

8.7

TABLA COMPARATIVA DE ORACLE Y HADOOP.............................................56

8.8

CONCLUSIN.........................................................................................................58

BIBLIOGRAFA..............................................................................................................61

1 HISTORIA
Hadoop fue creado por Doug Cutting, que lo
nombr as por el elefante de juguete de su
hijo. Fue desarrollado originalmente para
apoyar la distribucin del proyecto de motor
de bsqueda, denominado Nutch.
Dependiendo

de

cmo

se

defina

su

nacimiento, Hadoop es ahora de 10 aos de


edad. En esa dcada, Hadoop ha pasado de
ser la respuesta a los problemas de esperanza
(yhoo s) del motor de bsqueda de Yahoo a
una plataforma de computacin de propsito
general que est a punto de ser la base para la

Doug Cutting

prxima generacin de aplicaciones basadas en datos.


Solo, Hadoop es un mercado de software que IDC predice tendr un valor de $ 813 millones
en 2016 (aunque esa cifra probablemente es muy baja), pero tambin es la conduccin de un
mercado de grandes datos de la firma de investigacin predice que llegar a ms de $ 23 mil
millones para el ao 2016. Desde Cloudera lanzado en 2008, Hadoop ha dado lugar a docenas
de nuevas empresas y estimulado cientos de millones en inversiones de capital de riesgo
desde el ao 2008.
En esta serie de cuatro partes, vamos a explicar todo lo que cualquier persona relacionada con
la tecnologa de la informacin tiene que saber sobre Hadoop. La Parte I es la historia de
Hadoop de la gente que lo quiso a la existencia y puso la corriente principal. Parte II es ms
grfica; un mapa del ecosistema ahora a gran y compleja de las compaas que venden
productos de Hadoop. Parte III es una mirada hacia el futuro de Hadoop que debe servir

como una salva de apertura de gran parte de la discusin de nuestra estructura: Conferencia
de datos de marzo 20-21 en Nueva York. Por ltimo, la parte IV destacar algunas de la
mejores aplicaciones de Hadoop y momentos fundamentales de la historia de Hadoop, segn
lo informado por GigaOM lo largo de los aos.
En casi todas partes usted va en lnea ahora, Hadoop est ah en alguna capacidad. Facebook
(FB s), eBay (s ebay), Etsy, Yelp (s aullido), Twitter, Salesforce.com (s CRM) - que el
nombre de un popular sitio web o servicio, y lo ms probable es que est utilizando Hadoop
para analizar las montaas de los datos que est generando sobre el comportamiento del
usuario e incluso sus propias operaciones. Incluso en el mundo fsico, las empresas con visin
de futuro en campos que van desde el entretenimiento a la gestin energtica de las imgenes
de satlite estn utilizando Hadoop para analizar los tipos nicos de los datos que estn
recogiendo y generacin.
Todos los involucrados en tecnologa de la informacin, al menos, sabe lo que es. Hadoop
incluso sirve como base para el grfico de la nueva escuela y las bases de datos NoSQL, as
como versiones ms grandes, ms malos de bases de datos relacionales que han existido
durante dcadas.
Cuando las semillas de Hadoop se plantaron por primera vez en 2002, el mundo slo quera
un mejor motor de bsqueda de cdigo abierto. As que el entonces director de Internet de
bsqueda Archivo Doug Corte y la Universidad de Washington estudiante graduado Mike
Cafarella dispuso a construirlo. Llamaron a su proyecto Nutch y fue diseado con tela de la
poca en mente.
Mirando hacia atrs en l hoy, las primeras iteraciones de Nutch eran un poco de risa.
Alrededor de un ao en su trabajo en ella, Corte y Cafarella que las cosas iban bastante bien,
porque Nutch ya era capaz de rastrear e indexar cientos de millones de pginas. "En ese
momento, cuando empezamos, estbamos tipo de pensamiento que un motor de bsqueda en
la web fue de alrededor de mil millones de pginas," Cutting me explic, "por lo que estaban
haciendo all."
En la actualidad hay unos 700 millones de sitios web y, segn Wired, Kevin Kelly, ms de un
billn de pginas web.
Sin embargo, conseguir Nutch al trabajo no fue fcil. Slo poda correr a travs de un puado
de mquinas, y alguien tena que verlo durante todo el da para asegurarse de que no se cay.
"Recuerdo haber trabajado en l durante varios meses, siendo bastante orgulloso de lo que
habamos estado haciendo, y luego el papel del sistema de archivos Google sali y me di

cuenta de 'Oh, eso es una mejor forma de hacerlo. Debemos hacerlo de esa manera ' ",
recordaba el pasado Cafarella. "Entonces, en el momento en que tuvimos una primera versin
de trabajo, el papel MapReduce sali y que pareca una muy buena idea, tambin."
Google (GOOG s) dio a conocer el documento de Google File System en octubre de 2003 y
el documento de MapReduce en diciembre de 2004. Este ltimo resultar especialmente
reveladora a los dos ingenieros que construyen Nutch.

2 INTRODUCCIN A HADOOP
Hadoop consiste bsicamente en el Hadoop Common, que proporciona acceso a los sistemas
de archivos soportados por Hadoop. El paquete de software The Hadoop Common contiene
los archivos .jar y los scripts necesarios para hacer correr Hadoop. El paquete tambin
proporciona cdigo fuente, documentacin, y una seccin de contribucin que incluye
proyectos de la Comunidad Hadoop.
Una funcionalidad clave es que para la programacin efectiva de trabajo, cada sistema de
archivos debe conocer y proporcionar su ubicacin: el nombre del rack (ms precisamente,
del switch) donde est el nodo trabajador. Las aplicaciones Hadoop pueden usar esta
informacin para ejecutar trabajo en el nodo donde estn los datos y, en su defecto, en el
mismo rack/switch, reduciendo as el trfico de red troncal (backbone traffic). El sistema de
archivos HDFS usa esto cuando replica datos, para intentar conservar copias diferentes de los
datos en racks diferentes. El objetivo es reducir el impacto de un corte de energa de rack o de
fallo de interruptor de modo que incluso si se producen estos eventos, los datos todava
puedan ser legibles.8
Un clster tpico Hadoop incluye un nodo maestro y mltiples nodos esclavo. El nodo
maestro consiste en jobtracker (rastreador de trabajo), tasktracker (rastreador de tareas),
namenode (nodo de nombres), y datanode (nodo de datos). Un esclavo o compute node (nodo
de cmputo) consisten en un nodo de datos y un rastreador de tareas. Hadoop requiere tener
instalados entre nodos en el clster JRE 1.6 o superior, y SSH.

2.1 CARACTERSTICAS GENERALES HADOOP:


Respecto a sus caractersticas generales se puede mencionar:

2.1.1 Integridad
El HADOOP incluye caractersticas de Integridad, asegurando la proteccin de los datos an
en caso de que los sistemas sufran un colapso, y de Seguridad permitiendo realizar respaldos
en lnea con distintos grados de granularidad, sin que esto afecte la disponibilidad de acceso a
los datos por parte de los usuarios.
2.1.2 Mltiples Usos
Provee la capacidad de hacer frente a mltiples necesidades, desde Procesamiento
Transaccional de Misin Crtica (OLTP), hasta anlisis exhaustivo de los datos para el
soporte a la toma de decisiones (OLAP).
2.1.3 Escalabilidad
Sus caractersticas distintivas de Escalabilidad le permiten almacenar informacin en un
amplio rango de equipos, desde un PC porttil hasta un complejo ambiente de mainframes
procesando en paralelo.
2.1.4 Web enabled para e-business
Incluye tecnologa basada en Web que permite generar aplicaciones en las Intranets y
responder a las oportunidades de negocios disponibles en Internet.
2.1.5 Facilidad de instalacin y uso
La primera versin de HADOOP fue reconocida en el mercado como una base de datos muy
poderosa, pero difcil de instalar y usar.
En esta se agreg muchas herramientas grficas para facilitar el uso para los usuarios, como
tambin para los administradores y desarrolladores. Dicha versin incluye guas para
operaciones como instalacin, configuracin de performance, setup, etc. Adems, se
agregaron herramientas para facilitar las tareas de integracin con otras bases de datos,
tecnologas de networking y desarrollo de aplicaciones.
2.1.6 Universalidad
HADOOP es, adems, la nica base de datos realmente universal; es multiplataforma (16
plataformas de las cuales 10 no son de IBM), brinda soporte a un amplio rango de clientes,
soporta el acceso de los datos desde Internet y permite almacenar todo tipo de datos:

Texto, Audio, Imgenes y Video (AIV Extender)


Documentos XML ( XML Extender)

2.1.7 Ejemplos de los Formatos de datos soportados por HADOOP:

Video: playback, streaming, etc.

Imgenes: almacenamiento y bsqueda por patrones de colores y texturas.

Audio: maneja diferentes formatos de audio.

3 VERSIONES DE HADOOP
Version

Release Date

2.6.4

11 February, 2016

2.7.2

25 January, 2016

2.6.3

17 Dec, 2015

2.6.2

28 Oct, 2015

2.7.1

06 July, 2015

2.5.2

19 Nov, 2014

3.1

HADOOP VERSIN 2.6.4

3.1.1 Mejoras de empaquetado del producto


A medida que los servidores continan evolucionando, los nombres y los empaquetados de
los componentes de HADOOP cambian para responder a las necesidades del mercado.
3.1.2 Mejoras en la compresin
La Versin 2.6.4 incluye funciones de compresin nuevas que puede utilizar para comprimir
ms tipos de datos, reducir sus requisitos de almacenamiento, mejorar la eficiencia de E/S y
proporcionar acceso rpido a los datos desde el disco.
Ahora, puede comprimir los tipos de datos siguientes:

Datos XML almacenados en tablas

Tablas temporales

ndices

Tablas fuente de duplicacin de datos

Archivos LOB en lnea

3.1.3 Mejoras en la capacidad de gestin


La Versin 2.6.4 ofrece mejoras que facilitan la gestin de los entornos de HADOOP, reducen
el coste total de propiedad, reducen el impacto de la ejecucin de las tareas de gestin de
sistemas y amplan las prestaciones de las funciones autnomas incorporadas en releases
anteriores.
La Versin 2.6.4 incluye las mejoras en el almacenamiento automtico siguientes:

Soporte de almacenamiento automtico para los espacios de tablas DMS y las bases
de datos existentes

Reequilibrado del espacio de tablas al aadir o eliminar vas de acceso de


almacenamiento

Una nueva opcin de la sentencia ALTER DATABASE para descartar vas de acceso
de almacenamiento

Nuevos elementos de supervisin para las vas de acceso de almacenamiento y una


vista administrativa nueva, SNAPSTORAGE_PATHS

Las extensiones de almacenamiento sin utilizar son tambin ms fciles de reclamar.


Puede reclamar almacenamiento a los objetos siguientes:

Espacios de tablas de almacenamiento automtico o DMS

Tablas de clster multidimensional (MDC)

Tambin se incluyen las mejoras siguientes:

Numerosas funciones de tabla y vistas administrativas nuevas

La capacidad de mover datos de tabla en lnea

Mayor capacidad para los espacios de tablas grandes y temporales

Soporte para depsitos de datos ms grandes

Tiempo de inactividad menor al aadir servidores de particin de base de datos

3.1.4 Mejoras en pureXML


La Versin 2.6.4 se basa en el soporte para pureXML utilizado por primera vez en la Versin
9.1,m y mejora el servidor de datos XML y datos relacionales hbridos para que el proceso de
datos XML sea todava ms flexible, ms rpido y ms fiable.
Estas mejoras ofrecen nuevas oportunidades de despliegue y anlisis para los datos XML en
depsitos de datos. En la Versin 9.7, se da soporte a los datos XML en los siguientes tipos
adicionales de tablas, objetos y entornos:

Tablas particionadas

Tablas de clster multidimensional (MDC)

Tablas temporales declaradas

Funciones definidas por el usuario

Entornos de base de datos particionada

Las siguientes mejoras amplan el soporte de pureXML:


Los ndices de datos XML en una tabla particionada pueden particionarse
El mandato DESCRIBE proporciona informacin acerca de ndices XML generados
por el sistema
La sentencia ALTER TABLE soporta las operaciones recomendadas por REORG que
contienen datos XML
El desplazamiento de predicados est disponible para sentencias de SQL/XML y
XQuery
El anlisis y la validacin de XML pueden devolver mensajes ms detallados
Nuevas funciones con informacin de almacenamiento de filas de tabla base para
documentos XML en lnea
El rendimiento de pureXML se ha optimizado de la siguiente forma:

Varios documentos XML en una columna se pueden descomponer simultneamente

Perfiles de optimizacin soportan directrices para datos XML

El acceso de grabacin est soportado durante la creacin o reorganizacin de ndices

de datos XML

Se recopilan estadsticas de distribucin para los ndices sobre los datos XML.

3.1.5 Mejoras en la supervisin


La Versin 2.6.4 incluye mltiples mejoras que hacen que la tarea de supervisar entornos
HADOOP sea ms completa y disponga de una mayor granularidad de control. HADOOP
Versin 9.7 agiliza la resolucin de problemas mediante una nueva supervisin de punto en el
tiempo y de sucesos. Ahora podr comprender mejor lo que sucede dentro de un servidor de
datos HADOOP gracias a la nueva y detallada informacin de supervisin diseada para dar
respuesta a problemas de diagnstico. Puesto que la nueva supervisin es tambin ms eficaz,
este nuevo nivel de comprensin no implica un elevado impacto sobre el rendimiento.
La Versin 2.6.4 incluye una nueva infraestructura de supervisin a la que puede accederse a
travs de nuevas funciones de tabla y nuevos supervisores de sucesos. Esta infraestructura
constituye una mejor alternativa al supervisor del sistema, los supervisores de sucesos, los
mandatos de instantneas y las interfaces de SQL de instantneas existentes.
Esta infraestructura proporciona las ventajas siguientes:

Nuevas interfaces de supervisin accesibles mediante SQL

Se ha aumentado el nmero mximo de supervisores de sucesos activos

Capacidad de supervisar las sentencias de SQL tanto esttico como dinmico


almacenadas en la antememoria de paquete

Un supervisor de sucesos de antememoria de paquete para capturar informacin sobre


entradas de sentencias de SQL dinmico y esttico despus de haberlas borrado de la
antememoria de paquete de la base de datos

Nuevos supervisores de sucesos de bloqueo para simplificar la determinacin de


problemas para puntos muertos, tiempos de espera excedidos de bloqueo y esperas de
bloqueo

Supervisin de transacciones mejorada de unidades de trabajo y uso total de la CPU

Ahora puede determinarse la fecha en que se utiliz por ltima vez un objeto para
ayudar a gestionar objetos

3.1.6 Mejoras en el rendimiento


La Versin 2.6.4 incluye numerosas mejoras en el rendimiento que siguen haciendo que el
servidor de datos HADOOP sea una solucin de servidor de datos muy importante en el
mercado para empresas de todo tipo.
El optimizador de HADOOP incluye las mejoras siguientes:

Reutilizacin de planes de acceso

Soporte para el concentrador de sentencias

Mejoras en el muestreo RUNSTATS para las vistas estadsticas

La sentencia ALTER PACKAGE para la aplicacin de perfiles de optimizacin

Mejoras en el modelo de costes para consultas en entornos de base de datos


particionada

Adems, se ofrece un acceso a los datos ms rpido y una mayor simultaneidad de datos
mediante las mejoras siguientes:

Nivel de aislamiento de estabilidad del cursor (CS) con semntica confirmada


actualmente

Uso compartido de la exploracin

ndices particionados en tablas particionadas

Mejoras en las coincidencias de la tabla de consulta materializada (MQT)

La capacidad para almacenar algunos archivos LOB en lnea en tablas

Soporte para los puertos de finalizacin de E/S (IOCP) en el sistema operativo AIX

Soporte para la intencin de bloqueo en el nivel de aislamiento en las clusulas


subselect y fullselect

Disponibilidad de los datos de tabla particionada durante operaciones de despliegue

Las consultas con datos espaciales pueden ejecutarse con mayor rapidez en entornos
de base de datos particionada

4 INSTALACIN
Antes de instalar Hadoop en el entorno de Linux, tenemos que configurar Linux usando ssh
(Secure Shell). Siga los pasos que se indican a continuacin para configurar el entorno de
Linux.

4.1 CREACIN

DE UN USUARIO:

Al principio, se recomienda crear un usuario aparte para Hadoop para aislar Hadoop sistema
de archivos del sistema de archivos de Unix. Siga los pasos que se indican a continuacin
para crear un usuario:
Abra el usuario root utilizando el comando "su".
Crear un usuario de la cuenta de root con el comando "useradd usuario".
Ahora puede abrir una cuenta de usuario existente mediante el comando "su nombre".
Abrir el terminal de Linux y escriba los siguientes comandos para crear un usuario.
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

4.2 CONFIGURACIN SSH

Y LA GENERACIN DE CLAVES:

Es necesario realizar una configuracin SSH para realizar diferentes operaciones en un


clster como la de iniciar, detener distributed daemon shell las operaciones. Para autenticar
usuarios diferentes de Hadoop, es necesaria para proporcionar par de claves pblica/privada
para un usuario Hadoop y compartirla con los usuarios.
Los siguientes comandos se utilizan para la generacin de un par de clave y valor mediante
SSH. Copiar las claves pblicas forma id_rsa.pub a authorized_keys, y proporcionar el titular,
con permisos de lectura y escritura al archivo authorized_keys, respectivamente.
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

4.3 INSTALACIN

DE JAVA

Java es el principal requisito previo para Hadoop. En primer lugar, debe comprobar la
existencia de java en el sistema con el comando "java -version". La sintaxis de java versin
comando es dada a continuacin.
$ java -version
Si todo est en orden, se le dar el siguiente resultado.
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

Si java no est instalado en el sistema, a continuacin, siga los pasos que se indican a
continuacin para instalar java.
Paso 1
Descargar Java (JDK <latest version> - X64.tar.gz)visitando el siguiente enlace
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads1880260.html.
A continuacin, jdk-7u71-linux-x64.tar.gz se descargar en su sistema.
Paso 2
En general, encontrar el archivo descargado java en carpeta de descargas. Verificar y extraer
el jdk-7u71-linux-x64.gz usando los siguientes comandos.
$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

Paso 3
Para que java disponible para todos los usuarios, tiene que mover a la ubicacin /usr/local/.
Abrir root, y escriba los siguientes comandos.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

Paso 4
Para la configuracin de ruta de acceso y JAVA_HOME variables, agregar los siguientes
comandos en el archivo ~/.bashrc
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=PATH:$JAVA_HOME/bin

Ahora compruebe que el java -version comando desde el terminal, como se explic
anteriormente.
Descargar Hadoop
Descargar y extraer Hadoop 2.4.1 de Apache software foundation usando los siguientes
comandos.

$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit

4.4 HADOOP MODOS

DE FUNCIONAMIENTO

Una vez que hayas descargado Hadoop, puede utilizar el Hadoop cluster en uno de los tres
modos admitidos:
Local/Modo autnomo: Despus de descargar Hadoop en su sistema, por defecto, se
configura en modo independiente se puede ejecutar como un solo proceso java.
Pseudo Modo Distribuido: es una simulacin distribuida en una sola mquina. Cada
demonio como Hadoop hdfs, hilados, MapReduce, etc. , se ejecute como un proceso
java independiente. Este modo es til para el desarrollo.
Modo Totalmente Distribuido: Este modo es completamente distribuida con un
mnimo de dos o ms mquinas como un clster. Ya hablaremos de este modo en
detalle en los prximos captulos.

4.4.1 Instalar Hadoop en modo autnomo


Vamos a discutir la instalacin de Hadoop 2.4.1 en modo autnomo.
No hay demonios y todo se ejecuta en una sola. Modo autnomo es apto para correr
programas MapReduce durante el desarrollo, ya que es fcil de probar y depurar el sistema.
Configuracin de Hadoop
Puede establecer las variables de entorno Hadoop anexar los siguientes comandos
para~/.bashrcarchivo.
export HADOOP_HOME=/usr/local/hadoop
Antes de seguir adelante, usted necesita asegurarse de que Hadoop est trabajando bien. Slo
hay que utilizar el comando siguiente:
$ hadoop version
Si todo est bien con su configuracin, a continuacin, usted debe ver el siguiente resultado:
Hadoop 2.4.1
Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768
Compiled by hortonmu on 2013-10-07T06:28Z
Compiled with protoc 2.5.0
From source with checksum 79e53ce7994d1628b240f09af91e1af4

Hadoop significa que tu configuracin de modo independiente est trabajando bien. De forma
predeterminada, Hadoop est configurado para que se ejecute en un modo distribuido en una
sola mquina.
Ejemplo
Veamos un ejemplo sencillo de Hadoop. Hadoop instalacin proporciona el siguiente ejemplo
MapReduce archivo jar, que proporciona la funcionalidad bsica de MapReduce y puede
utilizarse para calcular, como valor de PI, recuento de palabras en una determinada lista de
archivos, etc.
$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar

Vamos a tener un directorio de entrada donde vamos a empujar unos cuantos archivos y
nuestra obligacin es contar el nmero total de palabras en los archivos. Para calcular el
nmero total de palabras, no es necesario escribir nuestro MapReduce, siempre el archivo .jar
contiene la implementacin de recuento de palabras. Puede intentar otros ejemplos en los que
se usa el mismo archivo .jar, simplemente ejecute los siguientes comandos para comprobar
apoya los programas funcionales de MapReduce hadoop mapreduce de ejemplos-2.2.0 .jar.
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples2.2.0.jar
Paso 1
Crear contenido temporal archivos en el directorio de entrada. Puede crear este directorio de
entrada en cualquier lugar en el que les gustara trabajar.
$ mkdir input
$ cp $HADOOP_HOME/*.txt input
$ ls -l input

Le dar los siguientes archivos en el directorio de entrada:


total 24
-rw-r--r-- 1 root root 15164 Feb 21 10:14 LICENSE.txt
-rw-r--r-- 1 root root 101 Feb 21 10:14 NOTICE.txt
-rw-r--r-- 1 root root 1366 Feb 21 10:14 README.txt

Estos archivos se han copiado del Hadoop instalacin directorio de inicio. Para el
experimento, que puede tener diferentes y grandes conjuntos de archivos.
Paso 2
Vamos a comenzar el proceso Hadoop para contar el nmero total de palabras en todos los
archivos disponibles en el directorio de entrada, de la siguiente manera:
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduceexamples2.2.0.jar wordcount input ouput
Paso 3
Paso-2 har el procesamiento necesario y guardar el resultado de la produccin/parte-r00000
archivo, que se puede comprobar mediante:
$cat output/*

4.4.2 Instalar Hadoop en Pseudo modo distribuido


Siga los pasos que se indican a continuacin para instalar Hadoop 2.4.1 en pseudo modo
distribuido.
Paso 1
Configuracin de Hadoop
Puede establecer las variables de entorno Hadoop anexar los siguientes comandos
para~/.bashrc archivo.
export
export
export
export
export
export
export
export

HADOOP_HOME=/usr/local/hadoop
HADOOP_MAPRED_HOME=$HADOOP_HOME
HADOOP_COMMON_HOME=$HADOOP_HOME
HADOOP_HDFS_HOME=$HADOOP_HOME
YARN_HOME=$HADOOP_HOME
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
HADOOP_INSTALL=$HADOOP_HOME

Ahora se aplican todos los cambios en el sistema actual.


$ source ~/.bashrc
Paso 2
Hadoop Configuracin
Usted puede encontrar todos los archivos de configuracin Hadoop en la ubicacin
$HADOOP_HOME/etc/hadoop. Es necesario realizar cambios en los archivos de
configuracin segn su Hadoop infraestructura.
$ Cd $HADOOP_HOME/etc/hadoop
Con el fin de desarrollar programas en java Hadoop, tiene que restablecer los java variables
de entorno en hadoop-env.sh archivo JAVA_HOME valor de sustitucin con la ubicacin de
java en su sistema.
export JAVA_HOME=/usr/local/jdk1.7.0_71

La siguiente es una lista de los archivos que tienes que modificar para configurar Hadoop.
Elcore-site.xml contiene informacin como el nmero de puerto que se usa para Hadoop
ejemplo, memoria asignada para el sistema de archivos, lmite de memoria para almacenar
los datos, y el tamao de lectura/escritura.
Abrir el core-site.xml y agregar las siguientes propiedades en entre <configuration>,
</configuration> etiquetas.
<configuration>
<property>
<name>fs.default.name </name>
<value> hdfs://localhost:9000 </value>
</property>
</configuration>

Lahdfs-site.xml contiene informacin como el valor de los datos de rplica, namenode ruta y
datanode las rutas de acceso de los sistemas de archivos locales. Esto significa que el lugar
donde se desea almacenar el Hadoop infraestructura.

Supongamos los siguientes datos.


dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode

Abra este archivo y agregar las siguientes propiedades en entre el <configuration>


</configuration> en el archivo.
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/namenode </value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value>
</property>
</configuration>

El archivo yarn-site.xml se utiliza para configurar yarn en Hadoop. Abra el archivo yarnsite.xml y aadir las siguientes propiedades de entre el <configuration>, </configuration> en
el archivo.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

El archivo mapred-site.xml se utiliza para especificar qu MapReduce framework que


estamos usando. De forma predeterminada, Hadoop contiene una plantilla de yarn-site.xml.
En primer lugar, es necesario copiar el archivo desdemapred-site,xml.template a mapredsite.xmlcon el siguiente comando.
$ cp mapred-site.xml.template mapred-site.xml
Mapred Abierto de sitio.xml y agregar las siguientes propiedades en entre el
<configuracin>, < /configuration> etiquetas en este archivo.
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

4.5 HADOOP INSTALACIN VERIFICACIN


Los siguientes pasos se utilizan para verificar la instalacin Hadoop.
Paso 1
Instalacin del nodo Nombre
Configurar el namenode usando el comando "hdfs namenode -format" de la siguiente manera.
$ cd ~
$ hdfs namenode -format
El resultado esperado es la siguiente.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/192.168.1.11
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.4.1
...
...
10/24/14 21:30:56 INFO common.Storage: Storage directory
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted.
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to
retain 1 images with txid >= 0
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
************************************************************/

Paso 2
Comprobar Hadoop dfs
El siguiente comando se utiliza para iniciar sle. Al ejecutar este comando, se iniciar la
Hadoop sistema de archivos.
$ start-dfs.sh

El resultado esperado es la siguiente:

10/24/14 21:37:56
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop
2.4.1/logs/hadoop-hadoop-namenode-localhost.out
localhost: starting datanode, logging to /home/hadoop/hadoop
2.4.1/logs/hadoop-hadoop-datanode-localhost.out
Starting secondary namenodes [0.0.0.0]

Paso 3
Comprobacin de Script yarn
El siguiente comando se utiliza para iniciar el yarn script. Al ejecutar este comando se inicie
el yarn demonios.
$ start-yarn.sh
El resultado esperado de la siguiente manera:
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/hadoop
2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out
localhost: starting nodemanager, logging to /home/hadoop/hadoop
2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

Paso 4
Acceder a Hadoop en el navegador
El nmero de puerto predeterminado para acceder a Hadoop es 50070. Utilice la siguiente
direccin url para obtener Hadoop servicios en el navegador.
http://localhost:50070/
Paso 5
Verifique que todas las solicitudes de clster
El nmero de puerto predeterminado para acceder a todas las aplicaciones de clster es 8088.
Utilice la siguiente direccin url para visitar este servicio.

5 DATOS HADOOP
5.1 ACCEDIENDO

A DATOS

HADOOP

5.1.1 Qu constituye una base de datos hadoop?


5.1.1.1

Los recursos lgicos, fsicos y de desempeo de una

base de datos
Una base de datos HADOOP en realidad est formada por un conjunto de objetos. Desde la
perspectiva del usuario, una base de datos es una coleccin de tablas que normalmente se
relaciona de alguna forma.
Desde la perspectiva de un administrador de base de datos es un poco ms complicado que
eso. La base de datos real contiene muchos de los siguientes objetos fsicos y lgicos:

Tablas, vistas, ndices y esquemas


Bloqueos, accionadores, procedimientos almacenados y paquetes
Agrupaciones de almacenamiento intermedio, archivos de registro y espacios
de tabla

Algunos de estos objetos, como las tablas y las vistas, ayudan a determinar cmo estn
organizados los

datos. Finalmente, algunos

objetos

como las

agrupaciones

de

almacenamiento intermedio y otros objetos de memoria, solo se relacionan con cmo se


administra el desempeo de la base de datos.
El DBA primero debe concentrarse en la implementacin fsica de la base de datos, ms que
en considerar todas las combinaciones posibles de parmetros y objetos. Cmo crea usted
una base de datos y cmo asigna el espacio en disco requerido para eso? Para responder
adecuadamente a esa pregunta usted necesita conocer sobre los objetos bsicos de la base de
datos y cmo se correlacionan con el almacenamiento fsico en disco.
5.1.1.2

El modelo de almacenamiento hadoop

El HADOOP tiene tanto un modelo lgico como uno fsico para manejar los datos. Los datos
efectivos con los que tratan los usuarios se encuentran en tablas. Aunque las tablas pueden
estar conformadas por columnas y filas, el usuario no conoce la representacin fsica de los
datos. A este hecho se le llama algunas veces la independencia fsica de los datos.
Un contenedor es un dispositivo fsico de almacenamiento. Este puede identificarse por un
nombre de directorio, un nombre de dispositivo, o un nombre de archivo. Un contenedor es
asignado a un espacio de tabla. Un espacio de tabla puede abarcar muchos contenedores, lo
cual significa que usted puede superar limitaciones de sistema operativo que puedan limitar la

cantidad de datos que puede contener un contenedor. La relacin entre todos estos objetos se
ilustra en la siguiente figura.

Figura: Modelo de almacenamiento HADOOP


Aunque una tabla es el objeto bsico que se ubica dentro del espacio de tabla, los DBA deben
estar al tanto de los objetos adicionales que hay dentro del sistema HADOOP y sobre cmo
estn correlacionados con un espacio de tabla.
5.1.1.3

Espacios de tabla dms y sms

Los espacios de tabla son la capa lgica entre la base de datos y las tablas almacenadas en esa
base de datos. Los espacios de tabla se crean dentro de una base de datos y las tablas se crean
dentro de espacios de tabla. El HADOOP soporta tres tipos de espacios de tabla:

SYSTEM-MANAGED SPACE (SMS): Aqu, el administrador de sistema de


archivos del sistema operativo asigna y administra el espacio. Antes de
HADOOP 9, crear una base de datos o espacio de tabla sin ningn parmetro
dara como resultado que todos los espacios de tabla se crearan como objetos

SMS.
DATABASE-MANAGED SPACE (DMS): Aqu, el gestor de base de datos
controla el espacio de almacenamiento. Este espacio de tabla es, en esencia,
una implementacin de un sistema de archivos de propsito especial, diseado

para satisfacer mejor las necesidades del gestor de base de datos.


ALMACENAMIENTO AUTOMTICO CON DMS: El almacenamiento
automtico realmente no es un tipo separado de espacio de tabla sino una
forma diferente de manejar el almacenamiento DMS. Los contenedores DMS
requieren ms mantenimiento (vea la siguiente seccin) y el Almacenamiento
Automtico se introdujo en el HADOOP V8.2.2 como una forma de

simplificar la administracin de espacio.


Los espacios de tabla SMS requieren muy poco mantenimiento. No obstante, los
espacios de tabla SMS ofrecen menos opciones de optimizacin y pueden no
desempearse tan bien como los espacios de tabla DMS.
5.1.2 Resumen
Una base de datos es una coleccin de objetos, lo cual incluye tablas,
ndices, vistas y objetos extensos.
Estos objetos se almacenan en espacios de tabla, que a su vez estn
formadas por contenedores.
Los espacios de tabla pueden ser administrados por el sistema operativo
(SMS) o por el HADOOP (DMS, Almacenamiento Automtico).
Usted decide qu tipo de espacio de tabla utilizar principalmente con base
en factores de desempeo y mantenimiento.

5.2 TRABAJANDO

CON DATOS

HADOOP

5.2.1 Data manipulation language (dml)


Usando el enunciado SELECT para recuperar datos de tablas de bases de datos
El enunciado SELECT se utiliza para recuperar datos de tabla o de vista. En su forma ms
simple, el enunciado SELECT puede usarse para recuperar todos los datos de una tabla. Por
ejemplo, para recuperar todos los datos STAFF de una base de datos SAMPLE, emita el
siguiente comando:
Este es un conjunto parcial de resultados retornados por esta consulta:

Para restringir el nmero de filas de un conjunto de resultados, use la clusula FETCH


FIRST. Por ejemplo:
Recupere columnas especficas de una tabla especificando una lista seleccionada de nombres
de columna separados por comas. Por ejemplo:
Use la clusula DISTINCT para eliminar filas duplicadas de un conjunto de resultados. Por
ejemplo:
Use la clusula AS para asignar un nombre significativo a una expresin o a un elemento de
la lista seleccionada. Por ejemplo:

Sin la clusula AS, la columna derivada habra sido llamada 2, indicando que es la segunda
columna del conjunto de resultados.
5.2.2 Usando la clusula where para limitar la cantidad de datos
retornados por una consulta
Use la clusula WHERE para seleccionar filas especificar de una tabla o vista, al especificar
uno o ms criterios de seleccin o condiciones de bsqueda. Una condicin de bsqueda
consiste en uno o ms predicados. Un predicado especfica algo sobre una fila que es o
verdadera o falsa (vea Las partes del enunciado SQL). Cuando est construyendo condiciones
de bsqueda, asegrese de:

Aplicar operaciones aritmticas solo a tipos de datos numricos


Hacer comparaciones nicamente entre tipos de datos comparables
Encerrar valores de caracteres dentro de comillas individuales
Especificar valores de caracteres exactamente como aparecen en la base de datos

Observemos algunos ejemplos.


Halle los miembros del personal cuyos salarios sean superiores a $20.000:

Encerrar el enunciado en comillas dobles evita que si sistema operativo malinterprete


caracteres especiales, como * o >; el smbolo mayor-que podra ser interpretado como una
solicitud de re direccionamiento de resultado.

Haga una lista con el nombre, el cargo y el salario de los miembros que no son
gerentes y cuyo salario sea superior a $20.000:

Una sub-consulta es un enunciado SELECT que aparece dentro de la clusula WHERE de


una consulta principal y que alimenta su conjunto de resultados a esa clusula WHERE. Por
ejemplo:

5.2.3 Usando un conjunto de operadores para combinar dos o ms


consultas
Combine dos o ms consultas en una sola consulta usando los operadores de conjunto

UNION, EXCEPT, o INTERSECT. Los operadores de conjunto procesan el resultado de las


consultas, eliminan duplicados y retornan el conjunto final de resultados.

El conjunto UNION genera una tabla de resultados al combinar dos o ms

tablas de otros resultados.


El conjunto EXCEPT genera una tabla de resultados incluyendo todas las filas
que son retornadas por la primera consulta, pero no por la segunda consulta ni

por las subsiguientes.


El conjunto INTERSECT genera una tabla de resultados incluyendo solo las
filas que son retornadas por todas las consultas.

El siguiente es un ejemplo de una consulta que utiliza el operador de conjunto UNION. La


misma consulta puede usar el operador de conjunto EXCEPT o INTERSECT, sustituyendo la
palabra clave apropiada por UNION.

5.2.4 Usando el enunciado insert para aadir nuevas filas a tablas


o vistas
El enunciado INSERT se utiliza para aadir nuevas filas a una tabla o a una vista. Insertar una
fila en una vista tambin inserta la fila en la que se basa la lista.
Use una clausula VALUES para especificar datos de columna para una o ms filas. Por
ejemplo:

5.2.5 Usando el enunciado update para cambiar datos de tablas o


vistas
El enunciado UPDATE se utiliza para cambiar los datos de una tabla o una vista. Cambie el
valor de una o ms columnas de cada fila que satisfaga las condiciones especificadas por la
clusula WHERE. Por ejemplo:

5.2.6 Usando el enunciado delete para eliminar datos

El enunciado DELETE se utiliza para eliminar filas enteras de datos de una tabla. Elimine
cada fila que satisfaga las condiciones especificadas por una clusula WHERE. Por ejemplo:

6 FUNCIONES COMPLEMENTARIAS DE
HADOOP UDB
Conectividad
Las herramientas de conectividad permiten acceder a los datos ms all de donde ellos se
encuentren. El slogan cualquier cliente, a cualquier servidor, en cualquier red est
completamente sustentado por la funcionalidad que sus herramientas ofrecen. HADOOP
permite acceder a los datos de HADOOP en mainframe o AS/400, desde Windows NT,
Windows 95/98, OS/2 o cualquiera de los Unix soportados. Adems, el producto Datajoiner
posibilita acceder de forma nica y transparente a los datos residentes en Oracle, Sybase,
Informix, Microsoft SQL Server, IMS, VSAM y otros.
Data Warehousing
El HADOOP UDB provee la infraestructura necesaria para soportar el proceso de toma de
decisiones en cualquier tamao y tipo de organizacin. Est dirigido a resolver la
problemtica a nivel departamental (Data Marts), ya que un nico producto provee la
capacidad para acceder a datos en Oracle, Sybase, Informix, Microsoft SQL Server, VSAM o
IMS, adems de la familia HADOOP.
Permite de forma totalmente grca acceder, transformar y distribuir los datos
automticamente y sin programar una lnea de cdigo.

Data Mining
Las empresas suelen generar grandes cantidades de informacin sobre sus procesos
productivos, desempeo operacional, mercados y clientes. Pero el xito de los negocios
depende por lo general de la habilidad para ver nuevas tendencias o cambios en las
tendencias.
Las aplicaciones de Data Mining pueden identicar tendencias y comportamientos, no slo
para extraer informacin, sino tambin para descubrir las relaciones en bases de datos que
pueden identicar comportamientos que no son muy evidentes.
HADOOP UDB posibilita el anlisis orientado al descubrimiento de informacin escondida
en los datos, realizando modelizacin predictiva, segmentacin de la base de datos, anlisis
de vnculos, o deteccin de desviaciones.

Incluye las siguientes tcnicas:

Clustering (segmentacin ).
Clasicacin.
Prediccin.
Descubrimiento Asociativo.
Descubrimiento Secuencial de Patrones.
Descubrimiento Secuencias Temporales.

Todas las tcnicas mencionadas permiten realizar:

Segmentacin de Clientes.
Deteccin de Fraudes.
Retencin de Clientes.
Ventas Cruzadas.

6.1 BUSINESS INTELLIGENCE

PARA

HADOOP UDB

Las ediciones del HADOOP Data Warehouse proporcionan gran funcionalidad de BI


(Business Intelligence) dentro de las bases de datos.
Estas nuevas ediciones combinan la fuerza del HADOOP UDB a la infraestructura esencial
de Business Intelligence.

La tecnologa basada en las ediciones del HADOOP UDB Data Warehouse, permite integrar
la informacin en:

Tiempo Real.
Percepcin.
Toma de Decisiones.

El HADOOP Data Warehouse hacen ms fcil, la implementacin de la plataforma completa


de BI (Business Intelligence) del HADOOP , realizada por los clientes. Proporcionan gran
funcionalidad de BI dentro de la base de datos.
La Edicin Corporativa de HADOOP Data Warehouse representa el marco ms reciente de la
evolucin de HADOOP.
6.1.1 Funcionalidad de Business Intelligence
Las funcionalidades del Business Intelligence incluyen:
Servicios robustos de ETML (Extract, Transform, Load and Move) con agentes distribuidos
para maximizar el desempeo.
Aplicaciones ecaces de bsqueda de datos para modelado y visualizacin de rutinas y
resultados de bsqueda, as como para la integracin de aplicaciones analticas.
Optimizaciones integradas a OLAP para acelerar el desarrollo e implementacin de
aplicaciones analticos.
Soporte para conguraciones de servidores en cluster, MPP (Massively Parallel Processing)
en una arquitectura true shared-nothing.
Funcionalidad de administracin de consultas y recursos para controlar, administrar y
monitorear el ambiente de carga, de consultas y de actividades.
Y adems, todos los recursos de desempeo y funcionalidad de Business Intelligence en el
HADOOP UDB Enterprise Server Edition y ms.

6.2 HADOOP DATA WAREHOUSE


Son sistemas que contienen datos de operaciones que se ejecutan en las transacciones diarias
de una empresa. Estos contienen informacin que es til para los analistas comerciales. Por
ejemplo: Los analistas pueden utilizar informacin sobre qu productos se han vendido, en
qu regiones y en qu poca del ao para buscar anomalas o para proyectar ventas futuras.

6.2.1 Esquema conceptual de un HADOOP Data Warehouse


El Data Warehouse se dene en el Centro de Depsito de Datos del HADOOP UDB para
automatizar los procesos necesarios para poblar y mantener el depsito de datos. Antes de
denir el depsito se rene informacin acerca de los datos operativos que se van a utilizar
como entrada para el depsito y de los requisitos para los datos de depsito.
El Administrador de la Base de Datos es el responsable de los datos operativos, es una buena
fuente de informacin acerca de los datos operativos. Los usuarios de negocios que tomarn
decisiones comerciales basadas en los datos del depsito son una buena fuente de
informacin acerca de los requisitos del depsito.
Y nalmente se crea una Base de Datos que contendr las tablas de destino del depsito, que
consisten en datos de fuente de depsito limpios y transformados.
EL HADOOP UDB incluye funciones y funcionalidades que transforman al DW en una
plataforma que permite distribuir y manejar informacin multidimensional a travs de la
empresa. Estas convierten el Warehouse Relacional en una plataforma para el anlisis OLAP
de alta performance que permite el despliegue de los datos contenidos en cubos
multidimensionales a lo largo de la empresa.

6.2.2 Principales Problemas del HADOOP Data Warehouse


Se producen diversos problemas si los analistas acceden a los datos de operaciones
directamente:

Puede que no tengan conocimientos sucientes para consultar la base de datos de


operaciones. Por ejemplo: La consulta de bases de datos IMS requiere un programa
de aplicacin que utiliza un tipo especializado de lenguaje de manipulacin de datos.
En general, los programadores que tienen los conocimientos para consultar la base de
datos de operaciones tienen un trabajo a tiempo completo efectuando el

mantenimiento de la base de datos y sus aplicaciones.


El rendimiento es esencial para muchas bases de datos de operaciones, como por
ejemplo las bases de datos de un banco. El sistema no puede manejar la realizacin

de las consultas pertinentes por parte de los usuarios.


Los datos de operaciones no acostumbran a estar en el formato ptimo para que los
utilicen los analistas comerciales. Por ejemplo, los datos de ventas que se resumen
por producto, regin y temporada son mucho ms tiles para los analistas que los
datos sin clasicar.

7 GESTIONAR BIG DATA CON MEDIANTE


HADOOP
Hoy en da con el incremento de la informacin y la diversidad de formatos en la que estn
representados se convierte en un reto el anlisis de la informacin con grandes volmenes de
informacin desde un solo manejador de base de datos. Con las caractersticas de HADOOP
la explotacin y anlisis de la informacin se logra de una manera fcil.

7.1 BIG DATA


Los datos son una de las partes ms importantes de las empresas y el factor principal en una
base. Como el aceite, en su forma pura tiene poco valor, pero una vez procesado y refinado
ayuda a alimentar al mundo. Big Data ha llegado a los distintos tipos de organizaciones para
el procesamiento y anlisis de la informacin. Podemos citar algunos ejemplos:

Empresas de salud donde se pueden procesar ms de dos millones de pacientes al ao.

Incremento de anlisis de informacin en los medios sociales tales como Facebook,


Twitter y sitios web para tratar de entender las necesidades del cliente, qu los motiva,
qu desean, entre otras.

Las empresas estn inundadas de datos relacionados a los hbitos de compra de los

clientes y a la eficacia de cadena de suministro. Sin embargo, muchos directores


luchan por darle sentido a los nmeros.
HADOOP est construido para manejar grandes volmenes de datos. Ha permitido a Hadoop
el procesamiento distribuido mediante el uso de MPP por aos (HADOOP PE, DPF, EEE,
ICE, BCU, Smart Analytics System, PureData). HADOOP tambin permite alta compresin
administrando mayores volmenes de datos a un menor costo.
Tambin se han implementado numerosas caractersticas para almacenar y consultar ms
datos de una forma ms rpida. Por ejemplo la utilera Ingest permite leer datos desde
archivos de una manera ms rpida sin afectar la disponibilidad de la informacin y con la
opcin de hacer transformaciones de los datos.
HADOOP est construido para manejar la variedad de datos tales como:
1) Big Data, un mundo lleno de datos no estructurados por ejemplo documentos de textos,
imgenes, XML, audio, entre otros.
2) Ha administrado datos XML por aos (XML Extender in v7, pureXML in HADOOP 9.1).
3) Permite un procesamiento ms rpido de datos XML:
a) Mejora el procesamiento de la funcin XMLTable y XQuery para las consultas
b) Creacin de ndices de tipo DECIMAL, INTEGER, FN:UPPERCASE, FN:EXISTS
c) Velocidad en la transferencia de datos XML entre aplicaciones y HADOOP con XML
Binario (XDBX)
4) Text Search mejorado para soportar bsquedas difusas, bsquedas de proximidad,
ejecutar bsquedas de textos en un servidor independiente al servidor HADOOP.
5) Capacidad para las aplicaciones de almacenar y consultar datos RDF y NoSQL en
HADOOP.
6) Esta listo para cualquier nube. Por ejemplo: Amazon web services, GoGrid, Eucalyptus,
Right Scale, Cloud.com y Rackspace hosting.

7.2 CARACTERSTICAS

DE

BIG DATA

Analiza colectivamente la amplia variedad de datos. 80% de ellos en el mundo son no


estructurados.

Costo eficiente al procesar grandes volmenes de informacin.

Establece la veracidad de las fuentes de informacin en grandes volmenes. Una de

cada tres empresas no confan en la informacin que utilizan para tomar decisiones.

Imagine las posibilidades de analizar todos los datos disponibles como por ejemplo:

Anlisis de la baja latencia en la red.

Detencin de amenazas precisa y oportuna.

Predecir y actuar sobre la intencin de compra.

Detencin de riesgos y fraudes.

Entender y actuar sobre la confianza del cliente.

Optimizacin del flujo de trfico en tiempo real.

Big Data es un tema caliente porque la tecnologa permite hacer posible el anlisis de todos
los datos disponibles an cuando vienen de diferentes fuentes con distintos formatos.

7.2.1 Anlisis con Big Data


Big Data y anlisis de negocios representan el nuevo campo de batalla de TI. La cantidad y
los tipos de datos que son capturados para el anlisis de negocios es cada vez mayor. Un
ejemplo clsico de este sper conjunto de datos es web logs, el cual contiene datos no
estructurados o sin estructura.
Estas infraestructuras abarcan hardware y software, tales como nuevos sistemas de archivos,
lenguajes de consulta y electrodomsticos.
Un buen ejemplo es Hadoop: Es un Framework basado en Java que soporta aplicaciones
distribuidas con uso inmenso de datos. Permite a las aplicaciones trabajar con miles de nodos
y petabytes de datos. Se utiliza un sistema de archivos distribuido que est diseado para ser
altamente tolerante a fallos.
Por ejemplo, una empresa que recopila datos sobre sus clientes de diversas fuentes, tales
como registros histricos de navegacin en un sitio web, datos sobre compras anteriores, y
los datos de las encuestas en archivos planos. La empresa desea utilizar estos datos para
poner en marcha una campaa de publicidad que ser de inters para sus clientes. Los retos
de esta empresa son determinar los datos que necesita para su campaa de publicidad, reunir
los datos de las diferentes fuentes, e integrar esos datos en registros significativos que
proporcionaran informacin til para futuras consultas analticas. Todo lo anterior es posible
mediante el uso de Hadoop dentro de HADOOP. A travs de Hadoop se tiene la posibilidad

de obtener dinmicamente la informacin y luego integrarlos perfectamente mediante el uso


de sentencias SQL.

7.2.2 Funcin de Tabla Java Generic


HADOOP tambin proporciona la capacidad de definir una funcin de tabla que puede
reaccionar a diferentes conjuntos de resultados de diversas infraestructuras sin necesidad de
una nueva definicin de la funcin. Usted slo tiene que utilizar las instrucciones SQL para
hacer referencia a la funcin de tabla genrica y luego definir la forma de la tabla de salida,
incluyendo los nombres de columnas y tipos de datos.
Solo los parmetros de entrada se especifican en la funcin DDL CREATE. Esta
caracterstica proporciona una mayor flexibilidad y productividad. Los desarrolladores
pueden utilizar la misma funcin para generar la salida y adaptarse a diferentes escenarios de
negocio. Adems, estas funciones proporcionan un punto de integracin flexible en
sentencias SQL y entre las aplicaciones HADOOP y otros.
1)

2)

Un usuario define la Funcin de tabla escrita en el lenguaje de programacin Java.


a)

La implementacin es proporcionada por una aplicacin fuera de HADOOP.

b)

Una Funcin de tabla regresa un conjunto registros o filas.

Por qu es Generic?
a)

Porque es compatible con diversos formatos de salida, los cuales se declaran en


tiempo de ejecucin.

3)

Salida de Funcin de Tabla


a)

Se accedan a travs de sentencias SQL.

b)

Regresa diferentes resultados con solo modificar la sentencia SQL.

7.2.3 Pasos para crear una funcin de Tabla Java Generic


a. Crear un programa Java que tome el archivo CSV y lo maneje como un Input, leer el
archivo y regresar los registros de datos a HADOOP.
i.

Para programar la rutina en Java asegrese de utilizar


las interfaces o clases javas diseadas para manejar store procedures y UDFs.

ii.

La clase UDF COM.ibm.HADOOP.app soporta UDFs


external Java Generic table.

b. Compilar la rutina externa de Java.


c. Copiar el archivo java class en la ruta $INSTALLDIR/sqllib/function dentro de su sistema
de base de datos. Todos los archivos java class o JARs necesitan residir en el directorio
sqllib/function o en el CLASSPATH del administrador de la base de datos.
d. Registrar la funcin Java en HADOOP
e. Una vez registrada usted puede utilizar la nueva funcin Java para trabajar con sus datos.
Las Funciones de tabla son ineficientes y complejas de utilizar en aquellos casos donde los
escenarios del negocio cambian o donde se tienen varias entradas con diferentes esquemas.
Como las UDF utilizan la nueva caracterstica de HADOOP Generic Table, eso puede ser
utilizado para integrar datos de diferentes fuentes y mejorar la interaccin entre aplicaciones.
En el caso de Hadoop se pueden crear resultados estandarizados basados en diferentes
estructuras de datos sin tener que cambiar la definicin de la funcin.

7.3 USAR

EFECTIVAMENTE LAS UTILIDADES DE MOVIMIENTO DE


DATOS DE HADOOP

Elegir las utilidades y metodologas apropiadas de movimiento de datos es clave para mover
eficientemente datos entre distintos sistemas en un entorno grande de depsito de datos. Se
proporciona conocimientos sobre los pros y contras de cada mtodo con IBM InfoSphere
Warehouse e incluye un estudio comparativo de los diversos mtodos usando cdigo real de
HADOOP para el movimiento de datos.
7.3.1 Introduccin
Las utilidades de movimiento de datos en HADOOP son fciles de usar con un entorno de
base de datos de una sola particin. Sin embargo, existen consideraciones extra cuando se

trata de un entorno grande de depsito de datos que tiene terabytes de tablas STAGING,
STORE y DATAMART en el entorno de Database Partition Feature (DPF) de InfoSphere
Warehouse. En este artculo, veremos las opciones de movimiento de datos disponibles en
HADOOP y los mejores mtodos adecuados para el entorno de depsito de datos.
7.3.2 Opciones de movimiento de datos de HADOOP
La tabla a continuacin lista las opciones de movimiento de datos disponibles en HADOOP,
junto con una descripcin de cmo es comnmente usado cada una y un ejemplo.

Tabla. Opciones de movimiento de datos disponibles en HADOOP


Nombre
Propsito
Uso prctico
Ejemplo
de
la
utilidad
Export

Load

Import

HADOOPmov
e

Para exportar
datos de una
tabla de base de
datos a un
archivo
Para
realizar
inserciones de
datos rpidas
en una tabla
existente en la
base de datos

Para
insertar
datos de un
archivo en una
tabla o vista

Copia tablas
un entorno
otro al nivel
esquema
(mltiples
tablas
general)

de
en
de

en

Este mtodo puede ser usado si desea


mantener los datos de tabla en un archivo
para su uso futuro o para renovar otro
entorno a partir de los datos actuales.
Esta es la utilidad que est buscando si su
principal preocupacin es el rendimiento de
la insercin de datos. Inserta pginas
formateadas en la base de datos en lugar de
una insercin de fila por fila. El
administrador/usuario de la base de datos
tambin puede elegir no registrar la
actividad en los registros de transaccin.
Pero tenga en cuenta que esta utilidad tiene
la posibilidad de explotar completamente
los recursos del sistema.
Esta utilidad es benfica al insertar datos en
una vista y tabla que tengan una restriccin
y cuando su intencin no sea colocar la
tabla en el estado 'set integrity'. Tambin es
til si tiene desencadenantes y desea que
sean activados mientras se insertan los
datos.

Cuando tiene muchas tablas que necesiten


ser copiadas entre entornos con base en el
esquema,
esto
puede
conseguirse
fcilmente usando HADOOPmove con la
opcin COPY.

EXPORT
TO
DATAMART.
F_CUST_PROF.DEL OF DEL MESSAGES
DATAMART. F_CUST_PROF.EXPORT.MSG
SELECT
*
FROM
DATAMART.F_CUST_PROF;
LOAD
FROM
DATAMART.
F_CUST_PROF.DEL OF DEL SAVECOUNT
10000
MESSAGES
DATAMART.
F_CUST_PROF.LOAD.MSG INSERT INTO
DATAMART.F_CUST_PROF;

IMPORT
FROM
DATAMART.
F_CUST_PROF.DEL
OF
DEL
COMMITCOUNT
1000
MESSAGES
DATAMART. F_CUST_PROF.IMPORT.MSG
INSERT
INTO
DATAMART.
F_CUST_PROF;
Si tiene un archivo de datos de formato IXF,
puede crear una tabla e insertar datos en un
solo comando, si la tabla no existe en el
entorno de destino
Exportar todas las tablas desde el esquema
STAGING:
HADOOPmove SourceDB EXPORT sn
STAGING
Exportar todas las tablas desde la base de
datos:
HADOOPmove
SourceDB
EXPORT
Importar todos los datos de tabla en una base
de
datos
de
destino:

HADOOPmove

TargetDB

IMPORT

Copiar
datos
del
origen
al
destino: HADOOPmove SourceDB COPY co
TARGET_DB
TargetDB
USER
<username>USING <password>

7.3.3 Retos del movimiento de datos


Los administradores de bases de datos frecuentemente encuentran difcil copiar un gran
volumen de datos de un servidor de base de datos a otro en la red. Algunos de los principales
retos para superar esta tarea son:
1) El volumen de datos
a) Terabytes de datos
b) Cientos de tablas
c) Tablas con cientos de millones de registros junto con miles de particiones de rango
2) La necesidad de transferencias de datos y recargas de datos ms rpidas
3) El requisito para distribuir equitativamente los datos a travs de los nodos de particin de
base de datos
Ahora que tiene una visin general de las opciones de movimiento en HADOOP, observe
detalladamente las tcnicas con el cdigo real para el movimiento de datos.

7.3.4 Tcnicas de movimiento de datos de almacn de HADOOP


7.3.4.1

Tcnica #1

Exportar datos en el servidor de base de datos local, transferir el archivo de datos y cargar
datos localmente en el servidor de base de datos de destino (tablas pequeas con
particionamiento de hash o sin particin de hash)

Estas son las etapas para implementar esta tcnica.

1.

Conctese a SourceDB localmente en el servidor de base de datos de origen.


CONNECT TO SourceDB;

2.

Realice una exportacin de HADOOP en la tabla en el servidor de base de datos de


origen.
EXPORT TO DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL MESSAGES
DATAMARTS.SCENARIO_CALENDAR.MSG
SELECT * FROM DATAMARTS.SCENARIO_CALENDAR;

3.

Comprima el archivo exportado para reducir el tiempo requerido para la transferencia


de archivos entre los servidores.
gzip DATAMARTS.SCENARIO_CALENDAR F.DEL

4.

Transfiera el archivo comprimido del servidor SourceDB al servidor TargetDB usando


sftp o scp.
cd <export file path>
sftp username@<targetDB Server hostname>
put DATAMARTS.SCENARIO_CALENDAR.DEL.gz
OR
scp DATAMARTS.SCENARIO_CALENDAR.DEL.gz username@<targetDB Server
hostname>:/<PATH>

5.

Descomprima el archivo transferido en el servidor de base de datos de destino.


gunzip DATAMARTS.SCENARIO_CALENDAR.DEL.gz

6.

Conctese a TargetDB localmente en el servidor de base de datos de destino.


CONNECT TO TargetDB;

7.

Realice una carga o importacin.


LOAD FROM DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL SAVECOUNT 10000
MESSAGES
DATAMARTS.SCENARIO_CALENDAR.LOAD.MSG INSERT INTO
DATAMARTS.SCENARIO_CALENDAR;

8.

En el caso del comando de carga, ejecute SET INTEGRITY al final de la operacin.


SET INTEGRITY FOR DATAMARTS.SCENARIO_CALENDAR IMMEDIATE CHECKED;

9.

Ejecute RUNSTATS para mantener las estadsticas actualizadas.


RUNSTATS ON TABLE DATAMARTS.SCENARIO_CALENDAR WITH DISTRIBUTION AND
DETAILED INDEXES
ALL;
7.3.4.2

Tcnica #2

Exportar datos del servidor de base de datos local y cargar datos remotamente al servidor de
base de datos de destino.

Siga estas etapas para implementar esta tcnica.


1.

Catalogue la base de datos de destino en el servidor de base de datos de origen.


CATALOG TCPIP NODE TargetND REMOTE TargetDBServer.ibm.com SERVER 50001;
CATALOG DATABASE TargetDB AT NODE TargetND;

2.

Conctese a SourceDB localmente en el servidor de base de datos de origen.


CONNECT TO SourceDB;

3.

Realice una exportacin de HADOOP desde la tabla en el servidor de base de datos de


origen.
EXPORT TO DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL MESSAGES
DATAMARTS.SCENARIO_CALENDAR.msg
SELECT * FROM DATAMARTS.SCENARIO_CALENDAR;

4.

Conctese a TargetDB remotamente en el servidor de base de datos de destino.


CONNECT TO TargetDB user <username> using <Password>;

5.

Realice una carga o importacin remotamente del origen al destino.


LOAD CLIENT FROM DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL SAVECOUNT
10000 MESSAGES
DATAMARTS.SCENARIO_CALENDAR.LOAD.msg INSERT INTO
DATAMARTS.SCENARIO_CALENDAR;

6.

En el caso del comando de carga, ejecute SET INTEGRITY al final de la operacin.


SET INTEGRITY FOR DATAMARTS.SCENARIO_CALENDAR IMMEDIATE CHECKED;

7.

Ejecute RUNSTATS para mantener las estadsticas actualizadas.


RUNSTATS ON TABLE DATAMARTS.SCENARIO_CALENDAR WITH DISTRIBUTION
AND DETAILED INDEXES ALL;
7.3.4.3

Tcnica #3

Exportar datos del servidor de base de datos remoto y cargar datos localmente al servidor de
base de datos de destino.

Siga estas etapas para implementar esta tcnica.


1.

Catalogue la base de datos de origen en el servidor de base de datos de destino.


CATALOG TCPIP NODE SourceND REMOTE SourceDBServer.ibm.com SERVER 50001;
CATALOG DATABASE SourceDB AT NODE SourceND;

2.

Conctese a la base de datos de origen remotamente desde el servidor de destino.


CONNECT TO SourceDB user <username> using <password>;

3.

Realice una exportacin de HADOOP desde la tabla remotamente.


EXPORT TO DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL MESSAGES
DATAMARTS.SCENARIO_CALENDAR.msg
SELECT * FROM DATAMARTS.SCENARIO_CALENDAR;

4.

Conctese a TargetDB localmente en el servidor de base de datos de destino.


CONNECT TO TargetDB user <username> using <Password>;

5.

Realice una importacin o carga local.


LOAD FROM DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL SAVECOUNT 10000
MESSAGES

DATAMARTS.SCENARIO_CALENDAR.LOAD.msg INSERT INTO


DATAMARTS.SCENARIO_CALENDAR;
6.

En el caso del comando de carga, ejecute SET INTEGRITY al final de la operacin.


SET INTEGRITY FOR DATAMARTS.SCENARIO_CALENDAR IMMEDIATE CHECKED;

7.

Ejecute RUNSTATS para mantener las estadsticas actualizadas.


RUNSTATS ON TABLE DATAMARTS.SCENARIO_CALENDAR WITH DISTRIBUTION
AND DETAILED INDEXES ALL;
7.3.4.4
Tcnica #4
Exportar datos a un conducto de sistema operativo y cargar datos del conducto al servidor de
base de datos remota de destino.

Siga estas etapas para implementar esta tcnica.


1.

Catalogue la base de datos de origen en el servidor de base de datos de destino:


CATALOG TCPIP NODE SourceND REMOTE SourceDBServer.ibm.com SERVER 50001;
CATALOG DATABASE SourceDB AT NODE SourceND;

2.

Cree un conducto de sistema operativo en el servidor de base de datos de destino.


mkfifo datapipe
ls ltr datapipe
prw-r--r-- 1 bculinux bcuigrp

3.

0 2011-09-18 16:32 datapipe

Conctese a la base de datos de origen remotamente desde el servidor de destino.


CONNECT TO SourceDB user <username> using <password>;

4.

Exporte datos de la base de datos de origen y grbelos en un lado del conducto de SO


(datapipe). En el escenario empresarial, el equipo de administracin de la base de datos
renov UAT desde PROD. slo para el periodo de 2011 de los registros 12904084.
EXPORT TO datapipe OF DEL MODIFIED BY COLDEL, MESSAGES
FACT_CUST_FPI_VALIDATION.EXP.msg SELECT * FROM

DATAMARTS.F_CUST_FPI_VALIDATION
WHERE REC_LOAD_DT > '2011-01-01-00.00.00.000000' WITH UR;
5.

Conctese a la base de datos de origen remotamente desde el servidor de destino.


CONNECT TO TargetDB user <username> using <password>;

6.

Importe o cargue datos de otro lado del conducto de SO en una tabla de intervalos
particionados de hash regular.
IMPORT FROM datapipe OF DEL MODIFIED BY COLDEL, MESSAGES
FACT_CUST_FPI_VALIDATION.IMP.msg INSERT INTO
DATAMARTS.FACT_CUST_FPI_VALIDATION;
LOAD FROM datapipe OF DEL MODIFIED BY COLDEL, MESSAGES
FACT_CUST_FPI_VALIDATION.LD.msg INSERT INTO
DATAMARTS.FACT_CUST_FPI_VALIDATION;
Nota: tenga cuidado al usar el comando de carga en una base de datos particionada que tenga
muchas particiones de intervalo. La carga puede fallar con SQLCODE SQL0973N y puede
perder datos en la tabla de destino.
Tome una instantnea de la aplicacin en la base de datos de destino. Ver una insercin
ocurriendo en la tabla del servidor de base de datos de destino. Hasta que la transferencia de
datos est completa, ver la exportacin hacia el conducto y la importacin desde el conducto
ejecutndose en el servidor.
Los siguientes listados resumen el estado en el origen y el destino despus de completarse:
Listado 1. Desde la conexin de base de datos de origen
HADOOP "EXPORT TO datapipe OF DEL MODIFIED BY COLDEL, MESSAGES
FPI_VALIDATION.EXP.msg
SELECT * FROM DATAMARTS.F_CUST_FPI_VALIDATION WHERE
REC_LOAD_DT >
'2011-01-01-00.00.00.000000' WITH UR"
Number of rows exported: 12904084
Listado 2. Desde la conexin de base de datos de destino
HADOOP "IMPORT FROM datapipe OF DEL MODIFIED BY COLDEL, MESSAGES
FPI_VALIDATION.IMP.msg INSERT INTO
DATAMARTS.FACT_CUST_FPI_VALIDATION"

Number of rows read


Number of rows skipped
Number of rows inserted
Number of rows updated
Number of rows rejected
Number of rows committed

= 12904084
=0
= 12904084
=0
=0
= 12904084

Para eliminar el conducto de sistema operativo despus de la finalizacin, use el siguiente


comando:
rm datapipe

Limitaciones y soluciones para la tcnica #4


Al cargar datos en una tabla con muchos intervalos particionados en un entorno particionado
de base de datos, puede encontrar el siguiente error.
SQL0973N Not enough storage is available in the "UTIL_HEAP_SZ" heap to process
the statement. SQLSTATE=57011
Estas son algunas formas de solucionar este problema:
1) Incremente el valor del parmetro de configuracin de base de datos UTIL_HEAP_SZ a
un mximo de 524288 pginas con un tamao de pginas de 4K. Despus fuerce todas las
aplicaciones y reactive la base de datos.
2) Disminuya el nmero de DATA BUFFER mientras carga los datos.
3) Si las dos etapas anteriores no le permiten completar la carga, realice una finalizacin de
carga.
4) Cree una tabla temporal DATAMARTS.FACT_CUST_FPI_VALIDATION_TMP sin
particiones de intervalo y realice una carga en la tabla temporal desde el conducto con una
clusula no recuperable para hacer la carga ms rpida.
5) Despus de la finalizacin, ejecute INSERT INTO ... SELECT * FROM.... Puede ejecutar
una insercin NOT LOGGED INITIALLY para mejorar el rendimiento de las cargas de
datos. El listado a continuacin muestra dicha insercin.
Listado 3. Inserciones NOT LOGGED INITIALLY
HADOOP +c "ALTER TABLE DATAMARTS.FACT_CUST_FPI_VALIDATION
ACTIVATE NOT LOGGED INITIALLY"
HADOOP "INSERT INTO DATAMARTS.FACT_CUST_FPI_VALIDATION SELECT *
FROM DATAMARTS.FACT_CUST_FPI_VALIDATION_TMP"
Nota: si una insercin NOT LOGGED INITIALLY falla por alguna razn, debe volver a
crear la tabla.

7.3.4.5

Tcnica #5

Exportar datos en el servidor de base de datos local, transferir el archivo de datos y cargar
datos localmente en el servidor de base de datos de destino (tablas pequeas con
particionamiento de hash o sin particin de hash).

En el servidor de base de datos de origen, realice las siguientes etapas para exportar
datos.
1.

Cree enlaces dinmicos desde el directorio de exportacin de nodo de admin hacia


todos los nodos de datos. En este ejemplo, el directorio de exportacin es
$HOME/HADOOPbackup/exports.
ln -s /HADOOPfs/bculinux/NODE0001 NODE1
ln -s /HADOOPfs/bculinux/NODE0002 NODE2
.........
ln -s /HADOOPfs/bculinux/NODE0040 NODE40

2.

El siguiente listado muestra los archivos resultantes despus de crear los enlaces
dinmicos.
ls ltr
lrwxrwxrwx 1 bculinux bcuigrp 24 2011-04-13 19:25 NODE1 ->
/HADOOPfs/bculinux/NODE0001
lrwxrwxrwx 1 bculinux bcuigrp 24 2011-04-13 19:25 NODE2 ->
/HADOOPfs/bculinux/NODE0002
.........
lrwxrwxrwx 1 bculinux bcuigrp 24 2011-04-13 19:28 NODE40 ->
/HADOOPfs/bculinux/NODE0040

3.

En cada servidor de nodo de datos fsico, cree una estructura de directorios similar a
esta.
mkdir p /HADOOPfs/bculinux/NODE0001/exports/datamarts
mkdir p /HADOOPfs/bculinux/NODE0002/exports/datamarts
.........
mkdir p /HADOOPfs/bculinux/NODE0040/exports/datamarts

4.

Encuentre las columnas de particin de hash en SYSCAT.COLUMNS para la tabla


que necesita ser exportada.
HADOOP "SELECT SUBSTR(COLNAME,1,20) COLNAME, PARTKEYSEQ FROM
SYSCAT.COLUMNS WHERE TABNAME=''F_CUST_PROFTBLTY_TMP' AND
TABSCHEMA='DATAMARTS'"
COLNAME
PARTKEYSEQ
-------------------- ---------ACCT_KEY
0
BUSS_UNIT_KEY
1
CALENDAR_MONTH_KEY
2
CRNCY_CODE
0
En esta tabla tenemos dos columnas de particin de hash. Elegimos una de las columnas de
hash para exportar datos en la particin respectiva.

5.

Exporte datos en todas las particiones en paralelo usando el comando HADOOP


EXPORT como se muestra en este listado.
HADOOP_all "\"|| HADOOP \"EXPORT TO
$HOME/HADOOPbackup/exports/NODE##/exports/datamarts/
DATAMARTS.F_CUST_PROFTBLTY_TMP.del OF DEL SELECT * FROM
DATAMARTS.F_CUST_PROFTBLTY_TMP WHERE DBPARTITIONNUM
(BUSS_UNIT_KEY)=##\""
Este comando exporta cada dato de particin en nodos de particin respectivos.

6.

Realice la copia de archivos de cada nodo de servidor de base de datos de origen en el


servidor de base de datos de destino usando scp.
scp -p <File Name> <User Name>@<Host Name>:<File Name>
En el servidor de base de datos de destino, realice las siguientes etapas para exportar los
datos.

1) Cree enlaces dinmicos como se ilustra en la base de datos de origen, como se muestra en
el Listado 4.
2) Cargue desde cada conjunto de datos de particin en paralelo usando el comando de carga
de HADOOP.
Listado 4. Comando LOAD paralelo
HADOOP_all "<<-0<<\" HADOOP -v \"LOAD FROM
HADOOPbackup/exports/NODE##/exports/datamarts
DATAMARTS.F_CUST_PROFTBLTY_TMP.del OF DEL INSERT INTO
DATAMARTS.F_CUST_PROFTBLTY_TMP NONRECOVERABLE \""
Este comando cargara cada conjunto de datos de particin en nodos de particin respectivos
7.3.5 Pros y contras de cada tcnica
La Tabla resalta los beneficios y desventajas de estas tcnicas.
Tabla. Pros y Contras

Tcnica
1.
Exportar
localmente
y
cargar
localmente

Pros

Contras
Uso fcil

Requiere que el espacio del sistema de archivos aloje el

Mtodo eficiente para


usar

con

datos

de

tabla

de

archivo de datos de exportacin en los servidores de origen y de


destino
Si los datos son distribuidos en todos los nodos de

dimensiones que reside en el nodo


de admin

datos en un depsito, tal vez no pueda usar eficientemente los


recursos del sistema de nodo de datos, as que este no es un
mtodo recomendable durante una renovacin grande de tablas
de hechos.

2.
Exportar
localmente
y
cargar
remotamente

Uso fcil

Requiere espacio del sistema de archivos en el servidor


de origen
Mientras se realiza la carga remotamente desde un
servidor de origen, los procesos de carga usan los recursos del
sistema de servidor de origen, as que esto no es ideal la mayora
de las veces cuando el servidor de origen es el servidor de
produccin

3.
Exportar
remotamente y
cargar
localmente

Uso fcil

requiere espacio del sistema de archivos en el servidor


de destino
Este mtodo en su mayora hace uso de los recursos del

sistema del servidor de destino, as que no hay preocupaciones en


el rendimiento de produccin, asumiendo que slo hay informes
ejecutndose en el sistema de produccin y realizando la
exportacin con nivel de aislamiento de lectura sin confirmar
4. Exportar y
cargar usando el
conducto

No requiere espacio del


sistema

de

archivos

para

almacenar el archivo de datos ni el

Si el conducto se interrumpe en el medio, la nica


forma de empezar a progresar es iniciar la exportacin y la carga
desde cero.

servidor de origen ni en el de
destino
5.
Exportacin
paralela y carga
paralela

Muy

en

Este mtodo requiere espacio en el sistema de archivos

comparacin con cualquier otra

para almacenar los datos exportados en el origen as como en los

tcnica para grandes tablas de

sistemas de archivos del nodo de particin de datos de destino.

hechos

que

distribuidos

rpida

tienen
en

los
todas

datos

Esta tcnica necesita crear enlaces dinmicos y

las

estructura de directorios para cada particin en los servidores de

particiones
No necesita una gran
parte de espacio en disco en un
sistema de archivos
Hace uso del espacio en
cada sistema de archivos del nodo
de particin
Hace uso de los recursos
de sistema equitativamente en
todos los nodos de datos

origen y de destino.

8 DESARROLLO DE APLICACIONES DE HADOOP EN


ENTORNOS DE DESARROLLO INTEGRADOS
En un entorno de desarrollo integrado (IDE), puede utilizar distintas herramientas
y lenguajes para desarrollar aplicaciones que accedan a datos de HADOOP para
z/OS.
Tanto si desarrolla aplicaciones de escritorio o basadas en la web, HADOOP
ofrece opciones para trabajar con varios lenguajes de programacin, estilos de
desarrollo

de

aplicaciones

sistemas

operativos.

HADOOP

proporciona

herramientas para desarrollar aplicaciones en entornos de desarrollo Java y


Microsoft. Las tres reas principales del soporte de desarrollo de HADOOP en
entornos de desarrollo integrados son WebSphere Studio, Microsoft Visual Studio
y IBM Data Studio.

WebSphere Studio
La integracin de HADOOP con WebSphere Studio proporciona desarrollo
para procedimientos almacenados y funciones definidas por el usuario,
adems de la integracin con el entorno de desarrollo J2EE. Este IDE facilita
el desarrollo de funciones del lado del servidor, aplicaciones J2EE y
aplicaciones de servicio web dentro del mismo entorno de desarrollo.
Microsoft Visual Studio
La integracin con Microsoft Visual Studio proporciona la integracin de
desarrollo del lado del servidor y aplicaciones de HADOOP. En este IDE, los
programadores de aplicaciones pueden crear aplicaciones que utilicen
soporte de Microsoft.
IBM Data Studio
IBM Data Studio es un entorno de desarrollo de bases de datos integrado
diseado para desarrolladores de aplicaciones y administradores de bases

de datos. Puede utilizar IBM Data Studio para desarrollar y probar rutinas,
generar y desplegar servicios web centrados en datos, crear y ejecutar
consultas de SQL y XQuery y desarrollar y optimizar aplicaciones Java. IBM
Data Studio est diseado para trabajar con IBM Optim pureQuery Runtime.

Rational Developer for System z


Rational Developer for System z puede mejorar la eficacia y proporciona
ayuda en la carga de trabajo combinada integrada o el desarrollo
compuesto. Utilizando Rational Developer for System z puede acelerar el
desarrollo de aplicaciones web, aplicaciones COBOL y PL/I tradicionales,
servicios web e interfaces basadas en XML.
El acceso desde estas herramientas se realiza mediante todas las API que se
utilizan normalmente, que son JDBC y ODBC, OLE DB, ADO.NET y ADO.
Con estas opciones de acceso, los programadores de aplicaciones pueden
utilizar muchas otras herramientas de desarrollo actuales, incluyendo el editor
bsico y el soporte de lnea de mandatos, para desarrollar aplicaciones HADOOP.

WebSphere Studio Application Developer


IBM WebSphere Studio Application Developer proporciona soporte global
para desarrollar aplicaciones que accedan a HADOOP.
HADOOP Development add-in for Visual Studio .NET
Puede utilizar HADOOP Development add-in for Microsoft Visual Studio
.NET para ampliar la integracin con el entorno de desarrollo de Microsoft
Visual Studio .NET.
Herramientas de desarrollo de aplicaciones de estacin de trabajo
Existe una amplia variedad de herramientas disponibles para realizar
tareas como, por ejemplo, consultar una base de datos.
Estas herramientas incluyen herramientas basadas en ODBC tales como
Lotus Approach, Microsoft Access, Microsoft Visual Basic, Microsoft Excel y
muchas otras.

IBM Mashup Center


Utilice IBM Mashup Center para crear mashups utilizando datos de una
base de datos HADOOP for z/OS. Un mashup es una aplicacin web ligera
que se crea combinando informacin de varias fuentes para entregar
contenido nuevo.

8.1 VENTAJAS BASE DE DATOS HADOOP

Permite agilizar el tiempo de respuestas de esta consulta.

Recuperacin utilizando accesos de slo ndices.

Predicados correlacionados.

Tablas de resumen

Tablas replicadas

Uniones hash

HADOOP utiliza una combinacin de seguridad externa y control interno de


acceso a proteger datos.

HADOOP proporciona un juego de datos de acceso de las interfaces para


los diferentes tipos de usuarios y aplicaciones.

HADOOP guarda sus datos contra la prdida, acceso desautorizado, o


entradas invlidas.

Usted puede realizar la administracin de la HADOOP desde cualquier


puesto de trabajo.

La tecnologa de replicacin heterognea (heterogeneous replication) en


SQL Server permite la publicacin automtica de los datos en otros

sistemas que no sean SQL Server, entre los que se incluyen HADOOP.

La mayora de los que utilizan equipos IBM utilizan HADOOP porque es


confiable y tiene un muy buen soporte tcnico".

El HADOOP se basa en dos ejes que lo hacen fuerte en su rendimiento:


utiliza un sistema multiprocesador (SMP) simtrico y un sistema de
procesador paralelo masivo.

el HADOOP distribuye y recuerda la ubicacin de cada pista donde se


encuentra la informacin. En el contexto de una larga base de datos, este
sistema de particin hace que la administracin sea mucho ms fcil de
manejar que una base de datos de la misma medida no particionada.

La base de datos se puede programar para tener una exacta cantidad de


particiones que contienen la informacin del usuario, ndice, clave de
transaccin

archivos

de

configuracin.

De

esta

forma,

los

administradores definen grupos de nodos, que son una serie de


particiones de la base, lo que posteriormente facilita cualquier bsqueda.

8.2 DESVENTAJAS

El HADOOP - IBM es la tercera base de datos que ms se vende, de


acuerdo con los VARs recientemente encuestados en el nmero de junio
de 1996 de la revistaVAR Business Magazine. El Microsoft SQL Server se
anot un 38%, Oracle, 21%, IBM, 10%, Informix, 9%, y Sybase un 8%.

En sistemas grandes la base ms usada es HADOOP ya que corre en


diferentes plataformas operativas, pero en realidad, en la mayora de los
casos la decisin para optar por un software de estas caractersticas es
corporativa.

Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que
se van a implementar.

Influye en la eleccin el hardware utilizado.

8.3 ESCALABILIDAD
Sus caractersticas distintivas de escalabilidad permiten almacenar informacin
en un amplio rango de equipos, desde una PC porttil hasta un complejo
ambiente de mainframes procesando en paralelo.

8.4 FACILIDAD DE INSTALACION Y USO


La primera versin de HADOOP para NT fue reconocida en el mercado como una
base de datos muy poderosa, pero difcil de instalar y usar.
En esta versin, IBM agreg muchas herramientas grficas para facilitar el uso
de tanto de usuarios, como administradores y desarrolladores.
Incluye guas para operaciones como instalacin, configuracin de performance,
setup, etc.
Adems, se agregaron herramientas para facilitar las tareas de integracin con
otras bases de datos, tecnologas de networking y desarrollo de aplicaciones.

8.5 PLATAFORMAS

Plataformas host: OS/390(MVS), VM & VSE, OS/400

Plataformas de servidor: OS/2 Warp Server, Sinix, SCO Openserver,


Windows NT, Aix, HP Ux, Solaris.

Plataformas Cliente: OS/2, DOS, Sinix, SCO OpenServer, Windows


3.1/95/NT, Macintosh System 7, Aix, HP Ux, Solaris.

8.6 RECUPERACION DE DESASTRES

HADOOP ofrece capacidades de recuperacin mas robustas y verstiles.

8.7 TABLA COMPARATIVA DE ORACLE Y HADOOP

Desarrollo de BD y

ORACLE

HADOOP

herramientas visuales
Herramientas de
consulta

Analizador de consulta

Asistente actual de
ndices

Tipos de datos

Funciones definidas
por el usuario

Vistas

Disparadores

Soporte XML

ndices y restricciones

Grupos de archivos

Segmentos

Tablas

ndices

Divisiones

Vistas materializadas

Mtodo de ejecucin

Optimizacin

Transformador de
consulta

Seleccin de rutas de
acceso

Ejecucin en paralelo

Estructura de proceso

Control de
concurrencia

Transacciones

Recuperacin

Retroceso

Bloques

Estructura de memoria

Estructura de proceso

Servidor multihebrado

Replica

Base de datos
distribuidos

Tablas

8.8 CONCLUSIN
Este anlisis se ha enfocado en tres grandes manejadores de bases de datos
dando a conocer sus caractersticas ms importantes, as como sus ventajas,
programas que requieren para un mejor y ptimo desarrollo, al igual que las
importantes herramientas con las que trabajan los sistemas de bases de datos.
Con esto podemos conocer una perspectiva ms de los sistemas, con el fin de
una mejor seleccin, apegndose a las caractersticas que sean necesarias
segn sea la demanda de cada empresa.
Abordamos la edicin de Microsoft SQL Server 2008 en la cual se hace foco en el
concepto de plataforma de datos que contempla una solucin integral para
almacenar y gestionar todo tipo de datos, incluyendo documentos, correos, citas,
XML y adems suministrar un amplio conjunto de servicios para interactuar con
los datos como bsquedas,

consultas,

anlisis, integracin de datos y

sincronizacin.
Los usuarios sern capaces de acceder a la informacin desde su creacin hasta
su almacenamiento sobre cualquier dispositivo, ya sea de sobremesa o mvil.
Los pilares de Microsoft SQL Server 2008 son tres:

Confianza, que ofrece a las organizaciones la ejecucin de sus


aplicaciones crticas con elevados niveles de seguridad, fiabilidad y
escalabilidad.

Productivo, para que la empresa reduzca el coste y tiempo que necesita


para desplegar y gestionar su infraestructura de datos.

Inteligente, de forma que suministra una plataforma global para


proporcionar a los usuarios los datos all donde sean solicitados.

Se han reforzado los mecanismos para garantizar no slo el rendimiento de las


operaciones, sino tambin las opciones que garantizan su copia y reposicin en
caso de problemas. Esta edicin incluye ahora opciones de mirroring, con
capacidad para recuperar un elevado nmero de errores de forma automtica y
transparente, recuperando los datos de la pgina de copia.
En este proceso se ha mejorado el rendimiento, mediante un amplio uso de la
compresin que afecta a los registros de operacin, minimizando as las
operaciones de E/S sobre el disco incluso para las operaciones de mirroring. Ya
en su anterior revisin, el Service Pack 2 para 2005, el producto contaba con un
sistema de compresin sobre marcha, para reducir el espacio necesario sobre el
dispositivo de almacenamiento, al tiempo que un incremento del rendimiento
global. En la actual versin la optimizacin alcanza a que los registros con
valores vacos no ocupen espacio fsico de almacenamiento.
Pero, ahora, adems de aquella actividad, est la inclusin de funciones
encriptar dinmicamente los datos. Esta funcin es aplicable a tablas, bases de
datos completas e incluso a los registros de actividad. Con ello se garantiza la
confidencialidad absoluta de los datos tratados. SQL Server 2008 incluye el
Nuevo Dynamic Management Views con extensiones de las vistas para mostrar
informacin adicional sobre las sesiones de mirroring.
Respecto a Oracle conocimos que es un sistema de gestin de base de datos
relacional (o RDBMS por el acrnimo en ingls de Relational Data Base
Management System), desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos ms
completos, destacando:

soporte de transacciones,

estabilidad,

escalabilidad

Soporte multiplataforma.
Aunque pudimos observar

que su dominio en el mercado de servidores

empresariales ha sido casi total hasta hace poco, recientemente sufre la


competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS
con licencia libre como PostgreSQL, MySql o Firebird. Las ltimas versiones de
Oracle han sido certificadas para poder trabajar bajo GNU/Linux.
HADOOP incorpora tablas organizado por columnas comprimidas para las bases
de datos. El release tambin incluye un amplio soporte para las cargas de
trabajo de despensa de datos (analticas) con consultas complejas que suelen
caracterizarse por uniones de varias tablas, agrupacin y agregacin, as como
exploraciones de tabla sobre un esquema en estrella.
Las tablas organizadas por columnas son tablas cuyas pginas de datos
contienen datos de columna en lugar de datos de fila. Esta nueva prestacin est
optimizada en memoria, en CPU y en E/S.
El producto HADOOP contina proporcionando un rendimiento lder en el sector
entre diversas cargas de trabajo, combinando ideas exclusivas con algunos de
los mejores despliegues tecnolgicos de los ltimos 10 aos en investigacin en
bases de datos.
La Aceleracin BLU, una serie de innovaciones de los laboratorios de
investigacin y desarrollo de IBM que simplifica y acelera los informes y anlisis,
es una funcin completamente integrada en HADOOP.
Fcil de instalar y con la posibilidad de optimizarse automticamente, la
Aceleracin BLU normalmente elimina la necesidad de ndices, agregados o
prolongados ajustes de la base de datos para lograr un mximo rendimiento y
eficacia de almacenamiento.
En la mayora de casos, no se requieren ningn SQL ni cambio de esquema para
aprovechar esta innovadora tecnologa.

9 BIBLIOGRAFA

http://www.ibm.com/developerworks/ssa/data/library/techarticle/dm1111movementda
tawarehouse/index.html
http://www-01.ibm.com//HADOOP/linux-unix-windows/features.html
http://www.ibm.com/developerwo//views/data/libraryview.jsp
http://public.dhe.ibm.com/.../HADOOPWhatsNew-HADOOPq0z973.pdf
http://public.dhe.ibm.com/ps/products/HADOOP/info/vr101/pdf/es_ES/HADOOPWh
atsNew-HADOOPq0z1011.pdf
http://www.dataprix.com/293-principales-problemas-HADOOP-data-warehouse
http://HADOOPkennedy.tripod.com/Libro/HADOOPKennedy.htm#Introduccin
http://www.help400.com/asp/scripts/nwart.asp?Num=174&Pag=24&Tip=M

You might also like