Professional Documents
Culture Documents
INGENIERA
Facultad de Ingeniera Industrial y de Sistemas
GESTOR DE BASE DE
DATOS HADOOP
Administracin de Base de Datos
PROFESOR:
Ing. Velarde
INTEGRANTES:
CONTENIDO
Contenido...................................................................................................................................2
1
HISTORIA..........................................................................................................................5
INTRODUCCIN A HADOOP.........................................................................................7
2.1
2.1.1
Integridad.............................................................................................................7
2.1.2
Mltiples Usos.....................................................................................................8
2.1.3
Escalabilidad........................................................................................................8
2.1.4
2.1.5
2.1.6
Universalidad.......................................................................................................8
2.1.7
VERSIONES DE HADOOP..............................................................................................9
3.1
3.1.1
3.1.2
Mejoras en la compresin....................................................................................9
3.1.3
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
4.3
Instalacin de Java.....................................................................................................15
4.4
4.4.1
4.4.2
4.5
5
DATOS HADOOP............................................................................................................24
5.1
5.1.1
5.1.2
Resumen.............................................................................................................26
5.2
5.2.1
5.2.2
Usando la clusula where para limitar la cantidad de datos retornados por una
consulta 27
5.2.3
5.2.4
5.2.5
5.2.6
6.1.1
6.2
6.2.1
6.2.2
Big Data.....................................................................................................................36
7.2
7.2.1
7.2.2
7.2.3
7.3
7.3.1
Introduccin.......................................................................................................40
7.3.2
7.3.3
7.3.4
7.3.5
8.2
DESVENTAJAS........................................................................................................55
8.3
ESCALABILIDAD...................................................................................................55
8.4
8.5
PLATAFORMAS.......................................................................................................56
8.6
RECUPERACION DE DESASTRES.......................................................................56
8.7
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
Doug Cutting
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.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:
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
Tablas temporales
ndices
Soporte de almacenamiento automtico para los espacios de tablas DMS y las bases
de datos existentes
Una nueva opcin de la sentencia ALTER DATABASE para descartar vas de acceso
de almacenamiento
Tablas particionadas
de datos XML
Se recopilan estadsticas de distribucin para los ndices sobre los datos XML.
Ahora puede determinarse la fecha en que se utiliz por ltima vez un objeto para
ayudar a gestionar objetos
Adems, se ofrece un acceso a los datos ms rpido y una mayor simultaneidad de datos
mediante las mejoras siguientes:
Soporte para los puertos de finalizacin de E/S (IOCP) en el sistema operativo AIX
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
Y LA GENERACIN DE CLAVES:
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
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.
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
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/*
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
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.
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>
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
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
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:
Algunos de estos objetos, como las tablas y las vistas, ayudan a determinar cmo estn
organizados los
objetos
como las
agrupaciones
de
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.
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:
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
5.2 TRABAJANDO
CON DATOS
HADOOP
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:
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:
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.
Clustering (segmentacin ).
Clasicacin.
Prediccin.
Descubrimiento Asociativo.
Descubrimiento Secuencial de Patrones.
Descubrimiento Secuencias Temporales.
Segmentacin de Clientes.
Deteccin de Fraudes.
Retencin de Clientes.
Ventas Cruzadas.
PARA
HADOOP UDB
La tecnologa basada en las ediciones del HADOOP UDB Data Warehouse, permite integrar
la informacin en:
Tiempo Real.
Percepcin.
Toma de Decisiones.
Las empresas estn inundadas de datos relacionados a los hbitos de compra de los
7.2 CARACTERSTICAS
DE
BIG DATA
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:
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.
2)
b)
Por qu es Generic?
a)
3)
b)
ii.
7.3 USAR
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.
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
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>
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)
1.
2.
3.
4.
5.
6.
7.
8.
9.
Tcnica #2
Exportar datos del servidor de base de datos local y cargar datos remotamente al servidor de
base de datos de destino.
2.
3.
4.
5.
6.
7.
Tcnica #3
Exportar datos del servidor de base de datos remoto y cargar datos localmente al servidor de
base de datos de destino.
2.
3.
4.
5.
7.
2.
3.
4.
DATAMARTS.F_CUST_FPI_VALIDATION
WHERE REC_LOAD_DT > '2011-01-01-00.00.00.000000' WITH UR;
5.
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"
= 12904084
=0
= 12904084
=0
=0
= 12904084
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.
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.
5.
6.
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
con
datos
de
tabla
de
2.
Exportar
localmente
y
cargar
remotamente
Uso fcil
3.
Exportar
remotamente y
cargar
localmente
Uso fcil
de
archivos
para
servidor de origen ni en el de
destino
5.
Exportacin
paralela y carga
paralela
Muy
en
hechos
que
distribuidos
rpida
tienen
en
los
todas
datos
las
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.
de
aplicaciones
sistemas
operativos.
HADOOP
proporciona
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.
Predicados correlacionados.
Tablas de resumen
Tablas replicadas
Uniones hash
sistemas que no sean SQL Server, entre los que se incluyen HADOOP.
archivos
de
configuracin.
De
esta
forma,
los
8.2 DESVENTAJAS
Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que
se van a implementar.
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.5 PLATAFORMAS
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,
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:
soporte de transacciones,
estabilidad,
escalabilidad
Soporte multiplataforma.
Aunque pudimos observar
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