• No se han encontrado resultados

hadoop

N/A
N/A
Protected

Academic year: 2021

Share "hadoop"

Copied!
58
0
0

Texto completo

(1)

Facultad de Ingeniería Industrial y de Sistemas

GESTOR DE BASE DE

DATOS HADOOP

Administración de Base de Datos

PROFESOR:

Ing. Velarde

INTEGRANTES:

LIMA, 17 DE MAYO DEL 2016

“Año de la Consolidación del Mar de Grau”

C

ONTENIDO

Contenido...2

1 HISTORIA...5

2 INTRODUCCIÓN A HADOOP...7

(2)

2.1.1 Integridad...7

2.1.2 Múltiples Usos...8

2.1.3 Escalabilidad...8

2.1.4 Web enabled para e-business...8

2.1.5 Facilidad de instalación y uso...8

2.1.6 Universalidad...8

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

3 VERSIONES DE HADOOP...9

3.1 HADOOP Versión 2.6.4...9

3.1.1 Mejoras de empaquetado del producto...9

3.1.2 Mejoras en la compresión...9

3.1.3 Mejoras en la capacidad de gestión...10

3.1.4 Mejoras en pureXML...10

3.1.5 Mejoras en la supervisión...11

3.1.6 Mejoras en el rendimiento...12

4 INSTALACIÓN...14

4.1 Creación de un usuario:...14

4.2 Configuración SSH y la generación de claves:...14

4.3 Instalación de Java...15

4.4 Hadoop Modos de funcionamiento...16

4.4.1 Instalar Hadoop en modo autónomo...17

4.4.2 Instalar Hadoop en Pseudo modo distribuido...19

4.5 Hadoop Instalación Verificación...22

5 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 cláusula where para limitar la cantidad de datos retornados por una consulta 27 5.2.3 Usando un conjunto de operadores para combinar dos o más consultas...28

5.2.4 Usando el enunciado insert para añadir 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

6 FUNCIONES COMPLEMENTARIAS DE HADOOP UDB...30

(3)

6.1.1 Funcionalidad de Business Intelligence...32

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

7 GESTIONAR BIG DATA CON MEDIANTE HADOOP...36

7.1 Big Data...36

7.2 Características de Big Data...37

7.2.1 Análisis con Big Data...37

7.2.2 Función de Tabla Java Generic...38

7.2.3 Pasos para crear una función de Tabla Java Generic...39

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

7.3.1 Introducción...40

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

7.3.3 Retos del movimiento de datos...41

7.3.4 Técnicas de movimiento de datos de almacén de HADOOP...41

7.3.5 Pros y contras de cada técnica...50

8 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 CONCLUSIÓN...58

(4)

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 distribución del proyecto de motor de búsqueda, denominado Nutch.

Dependiendo de cómo se defina su nacimiento, Hadoop es ahora de 10 años de edad. En esa década, Hadoop ha pasado de ser la respuesta a los problemas de esperanza (yhoo s) del motor de búsqueda de Yahoo a una plataforma de computación de propósito general que está a punto de ser la base para la

próxima generación 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 también es la conducción de un mercado de grandes datos de la firma de investigación predice que llegará a más de $ 23 mil millones para el año 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 año 2008.

En esta serie de cuatro partes, vamos a explicar todo lo que cualquier persona relacionada con la tecnología de la información 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 más gráfica; un mapa del ecosistema ahora a gran y compleja de las compañías que venden productos de Hadoop. Parte III es una mirada hacia el futuro de Hadoop que debe servir

(5)

como una salva de apertura de gran parte de la discusión 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, según lo informado por GigaOM lo largo de los años.

En casi todas partes usted va en línea 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 más probable es que está utilizando Hadoop para analizar las montañas de los datos que está generando sobre el comportamiento del usuario e incluso sus propias operaciones. Incluso en el mundo físico, las empresas con visión de futuro en campos que van desde el entretenimiento a la gestión energética de las imágenes de satélite están utilizando Hadoop para analizar los tipos únicos de los datos que están recogiendo y generación.

Todos los involucrados en tecnología de la información, al menos, sabe lo que es. Hadoop incluso sirve como base para el gráfico de la nueva escuela y las bases de datos NoSQL, así como versiones más grandes, más malos de bases de datos relacionales que han existido durante décadas.

Cuando las semillas de Hadoop se plantaron por primera vez en 2002, el mundo sólo quería un mejor motor de búsqueda de código abierto. Así que el entonces director de Internet de búsqueda Archivo Doug Corte y la Universidad de Washington estudiante graduado Mike Cafarella dispuso a construirlo. Llamaron a su proyecto Nutch y fue diseñado con tela de la época en mente.

Mirando hacia atrás en él hoy, las primeras iteraciones de Nutch eran un poco de risa. Alrededor de un año 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 páginas. "En ese momento, cuando empezamos, estábamos tipo de pensamiento que un motor de búsqueda en la web fue de alrededor de mil millones de páginas," Cutting me explicó, "por lo que estaban haciendo allí."

En la actualidad hay unos 700 millones de sitios web y, según Wired, Kevin Kelly, más de un billón de páginas web.

Sin embargo, conseguir Nutch al trabajo no fue fácil. Sólo podía correr a través de un puñado de máquinas, y alguien tenía que verlo durante todo el día para asegurarse de que no se cayó. "Recuerdo haber trabajado en él durante varios meses, siendo bastante orgulloso de lo que habíamos estado haciendo, y luego el papel del sistema de archivos Google salió y me di

(6)

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 versión de trabajo, el papel MapReduce salió y que parecía una muy buena idea, también."

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 INTRODUCCIÓN A HADOOP

Hadoop consiste básicamente 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 también proporciona código fuente, documentación, y una sección de contribución que incluye proyectos de la Comunidad Hadoop.

Una funcionalidad clave es que para la programación efectiva de trabajo, cada sistema de archivos debe conocer y proporcionar su ubicación: el nombre del rack (más precisamente, del switch) donde está el nodo trabajador. Las aplicaciones Hadoop pueden usar esta información para ejecutar trabajo en el nodo donde están los datos y, en su defecto, en el mismo rack/switch, reduciendo así el tráfico 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 energía de rack o de fallo de interruptor de modo que incluso si se producen estos eventos, los datos todavía puedan ser legibles.8

Un clúster típico Hadoop incluye un nodo maestro y múltiples 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 cómputo) consisten en un nodo de datos y un rastreador de tareas. Hadoop requiere tener instalados entre nodos en el clúster JRE 1.6 o superior, y SSH.

2.1 C

ARACTERÍSTICAS

G

ENERALES

H

ADOOP

:

(7)

2.1.1 Integridad

El HADOOP incluye características de Integridad, asegurando la protección de los datos aún en caso de que los sistemas sufran un colapso, y de Seguridad permitiendo realizar respaldos en línea con distintos grados de granularidad, sin que esto afecte la disponibilidad de acceso a los datos por parte de los usuarios.

2.1.2 Múltiples Usos

Provee la capacidad de hacer frente a múltiples necesidades, desde Procesamiento Transaccional de Misión Crítica (OLTP), hasta análisis exhaustivo de los datos para el soporte a la toma de decisiones (OLAP).

2.1.3 Escalabilidad

Sus características distintivas de Escalabilidad le permiten almacenar información en un amplio rango de equipos, desde un PC portátil hasta un complejo ambiente de mainframes procesando en paralelo.

2.1.4 Web enabled para e-business

Incluye tecnología 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 instalación y uso

La primera versión de HADOOP fue reconocida en el mercado como una base de datos muy poderosa, pero difícil de instalar y usar.

En esta se agregó muchas herramientas gráficas para facilitar el uso para los usuarios, como también para los administradores y desarrolladores. Dicha versión incluye guías para operaciones como instalación, configuración de performance, setup, etc. Además, se agregaron herramientas para facilitar las tareas de integración con otras bases de datos, tecnologías de networking y desarrollo de aplicaciones.

2.1.6 Universalidad

HADOOP es, además, 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, Imágenes y Video (AIV Extender)

(8)

2.1.7 Ejemplos de los Formatos de datos soportados por HADOOP:Video: playback, streaming, etc.

Imágenes: almacenamiento y búsqueda 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 V

ERSIÓN

2.6.4

3.1.1 Mejoras de empaquetado del producto

A medida que los servidores continúan 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 compresión

La Versión 2.6.4 incluye funciones de compresión nuevas que puede utilizar para comprimir más tipos de datos, reducir sus requisitos de almacenamiento, mejorar la eficiencia de E/S y proporcionar acceso rápido a los datos desde el disco.

Ahora, puede comprimir los tipos de datos siguientes:

 Datos XML almacenados en tablas

 Tablas temporales

(9)

 Tablas fuente de duplicación de datos

 Archivos LOB en línea

3.1.3 Mejoras en la capacidad de gestión

La Versión 2.6.4 ofrece mejoras que facilitan la gestión de los entornos de HADOOP, reducen el coste total de propiedad, reducen el impacto de la ejecución de las tareas de gestión de sistemas y amplían las prestaciones de las funciones autónomas incorporadas en releases anteriores.

La Versión 2.6.4 incluye las mejoras en el almacenamiento automático siguientes:

 Soporte de almacenamiento automático para los espacios de tablas DMS y las bases de datos existentes

 Reequilibrado del espacio de tablas al añadir o eliminar vías de acceso de almacenamiento

 Una nueva opción de la sentencia ALTER DATABASE para descartar vías de acceso de almacenamiento

 Nuevos elementos de supervisión para las vías de acceso de almacenamiento y una vista administrativa nueva, SNAPSTORAGE_PATHS

Las extensiones de almacenamiento sin utilizar son también más fáciles de reclamar. Puede reclamar almacenamiento a los objetos siguientes:

 Espacios de tablas de almacenamiento automático o DMS

 Tablas de clúster multidimensional (MDC) También se incluyen las mejoras siguientes:

 Numerosas funciones de tabla y vistas administrativas nuevas

 La capacidad de mover datos de tabla en línea

(10)

 Soporte para depósitos de datos más grandes

 Tiempo de inactividad menor al añadir servidores de partición de base de datos

3.1.4 Mejoras en pureXML

La Versión 2.6.4 se basa en el soporte para pureXML utilizado por primera vez en la Versión 9.1,m y mejora el servidor de datos XML y datos relacionales híbridos para que el proceso de datos XML sea todavía más flexible, más rápido y más fiable.

Estas mejoras ofrecen nuevas oportunidades de despliegue y análisis para los datos XML en depósitos de datos. En la Versión 9.7, se da soporte a los datos XML en los siguientes tipos adicionales de tablas, objetos y entornos:

 Tablas particionadas

 Tablas de clúster multidimensional (MDC)

 Tablas temporales declaradas

 Funciones definidas por el usuario

 Entornos de base de datos particionada

Las siguientes mejoras amplían el soporte de pureXML:

Los índices de datos XML en una tabla particionada pueden particionarse

El mandato DESCRIBE proporciona información 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 análisis y la validación de XML pueden devolver mensajes más detallados

Nuevas funciones con información de almacenamiento de filas de tabla base para documentos XML en línea

El rendimiento de pureXML se ha optimizado de la siguiente forma:

 Varios documentos XML en una columna se pueden descomponer simultáneamente

 Perfiles de optimización soportan directrices para datos XML

(11)

de datos XML

 Se recopilan estadísticas de distribución para los índices sobre los datos XML.

3.1.5 Mejoras en la supervisión

La Versión 2.6.4 incluye múltiples mejoras que hacen que la tarea de supervisar entornos HADOOP sea más completa y disponga de una mayor granularidad de control. HADOOP Versión 9.7 agiliza la resolución de problemas mediante una nueva supervisión 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 información de supervisión diseñada para dar respuesta a problemas de diagnóstico. Puesto que la nueva supervisión es también más eficaz, este nuevo nivel de comprensión no implica un elevado impacto sobre el rendimiento.

La Versión 2.6.4 incluye una nueva infraestructura de supervisión a la que puede accederse a través 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 instantáneas y las interfaces de SQL de instantáneas existentes.

Esta infraestructura proporciona las ventajas siguientes:

 Nuevas interfaces de supervisión accesibles mediante SQL

 Se ha aumentado el número máximo de supervisores de sucesos activos

 Capacidad de supervisar las sentencias de SQL tanto estático como dinámico almacenadas en la antememoria de paquete

 Un supervisor de sucesos de antememoria de paquete para capturar información sobre entradas de sentencias de SQL dinámico y estático después de haberlas borrado de la antememoria de paquete de la base de datos

 Nuevos supervisores de sucesos de bloqueo para simplificar la determinación de problemas para puntos muertos, tiempos de espera excedidos de bloqueo y esperas de bloqueo

 Supervisión 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

(12)

3.1.6 Mejoras en el rendimiento

La Versión 2.6.4 incluye numerosas mejoras en el rendimiento que siguen haciendo que el servidor de datos HADOOP sea una solución de servidor de datos muy importante en el mercado para empresas de todo tipo.

El optimizador de HADOOP incluye las mejoras siguientes:

 Reutilización de planes de acceso

 Soporte para el concentrador de sentencias

 Mejoras en el muestreo RUNSTATS para las vistas estadísticas

 La sentencia ALTER PACKAGE para la aplicación de perfiles de optimización

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

Además, se ofrece un acceso a los datos más rápido y una mayor simultaneidad de datos mediante las mejoras siguientes:

 Nivel de aislamiento de estabilidad del cursor (CS) con semántica confirmada actualmente

 Uso compartido de la exploración

 Índices particionados en tablas particionadas

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

 La capacidad para almacenar algunos archivos LOB en línea en tablas

 Soporte para los puertos de finalización de E/S (IOCP) en el sistema operativo AIX

 Soporte para la intención de bloqueo en el nivel de aislamiento en las cláusulas 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

(13)

4 INSTALACIÓN

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

4.1 C

REACIÓN 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 continuación 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 C

ONFIGURACIÓN

SSH

Y LA GENERACIÓN DE CLAVES

:

Es necesario realizar una configuración SSH para realizar diferentes operaciones en un clúster como la de iniciar, detener distributed daemon shell las operaciones. Para autenticar usuarios diferentes de Hadoop, es necesaria para proporcionar par de claves pública/privada para un usuario Hadoop y compartirla con los usuarios.

Los siguientes comandos se utilizan para la generación de un par de clave y valor mediante SSH. Copiar las claves públicas 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

(14)

4.3 I

NSTALACIÓN DE

J

AVA

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 versión comando es dada a continuación.

$ 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 continuación, siga los pasos que se indican a continuación 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 continuación, 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 ubicación “/usr/local/”. Abrir root, y escriba los siguientes comandos.

$ su password:

# mv jdk1.7.0_71 /usr/local/ # exit

Paso 4

Para la configuración 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.

(15)

$ 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 H

ADOOP

M

ODOS DE FUNCIONAMIENTO

Una vez que hayas descargado Hadoop, puede utilizar el Hadoop cluster en uno de los tres modos admitidos:

Local/Modo autónomo: Después 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 simulación distribuida en una sola máquina. 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

mínimo de dos o más máquinas como un clúster. Ya hablaremos de este modo en detalle en los próximos capítulos.

4.4.1 Instalar Hadoop en modo autónomo

Vamos a discutir la instalación de Hadoop 2.4.1 en modo autónomo.

No hay demonios y todo se ejecuta en una sola. Modo autónomo es apto para correr programas MapReduce durante el desarrollo, ya que es fácil de probar y depurar el sistema. Configuración 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. Sólo hay que utilizar el comando siguiente:

$ hadoop version

Si todo está bien con su configuración, a continuación, 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

(16)

Hadoop significa que tu configuración de modo independiente está trabajando bien. De forma predeterminada, Hadoop está configurado para que se ejecute en un modo distribuido en una sola máquina.

Ejemplo

Veamos un ejemplo sencillo de Hadoop. Hadoop instalación proporciona el siguiente ejemplo MapReduce archivo jar, que proporciona la funcionalidad básica 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 obligación es contar el número total de palabras en los archivos. Para calcular el número total de palabras, no es necesario escribir nuestro MapReduce, siempre el archivo .jar contiene la implementación 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-mapreduceexamples-2.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 gustaría 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 instalación 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 número 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-mapreduceexamples-2.2.0.jar wordcount input ouput

Paso 3

Paso-2 hará el procesamiento necesario y guardar el resultado de la producción/parte-r00000 archivo, que se puede comprobar mediante:

(17)

4.4.2 Instalar Hadoop en Pseudo modo distribuido

Siga los pasos que se indican a continuación para instalar Hadoop 2.4.1 en pseudo modo distribuido.

Paso 1

Configuración de Hadoop

Puede establecer las variables de entorno Hadoop anexar los siguientes comandos para~/.bashrc archivo. export HADOOP_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_INSTALL=$HADOOP_HOME

Ahora se aplican todos los cambios en el sistema actual. $ source ~/.bashrc

Paso 2

Hadoop Configuración

Usted puede encontrar todos los archivos de configuración Hadoop en la ubicación “$HADOOP_HOME/etc/hadoop”. Es necesario realizar cambios en los archivos de configuración según 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 sustitución con la ubicación 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 información como el número de puerto que se usa para Hadoop

ejemplo, memoria asignada para el sistema de archivos, límite de memoria para almacenar los datos, y el tamaño 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 información como el valor de los datos de réplica, 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.

(18)

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 site.xml se utiliza para configurar yarn en Hadoop. Abra el archivo yarn-site.xml y añadir 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 desdesite,xml.template a mapred-site.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 <configuración>, < /configuration> etiquetas en este archivo.

<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>

(19)

4.5 H

ADOOP

I

NSTALACIÓN

V

ERIFICACIÓN

Los siguientes pasos se utilizan para verificar la instalación Hadoop.

Paso 1

Instalación 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

(20)

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

Comprobación 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 número de puerto predeterminado para acceder a Hadoop es 50070. Utilice la siguiente dirección url para obtener Hadoop servicios en el navegador.

http://localhost:50070/

Paso 5

Verifique que todas las solicitudes de clúster

El número de puerto predeterminado para acceder a todas las aplicaciones de clúster es 8088. Utilice la siguiente dirección url para visitar este servicio.

(21)

5 DATOS HADOOP

5.1 A

CCEDIENDO A DATOS

HADOOP

5.1.1 ¿Qué constituye una base de datos hadoop?

5.1.1.1 Los recursos lógicos, físicos y de desempeño 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 colección de tablas que normalmente se relaciona de alguna forma.

Desde la perspectiva de un administrador de base de datos es un poco más complicado que eso. La base de datos real contiene muchos de los siguientes objetos físicos y lógicos:

 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 cómo están organizados los datos. Finalmente, algunos objetos como las agrupaciones de almacenamiento intermedio y otros objetos de memoria, solo se relacionan con cómo se administra el desempeño de la base de datos.

El DBA primero debe concentrarse en la implementación física de la base de datos, más que en considerar todas las combinaciones posibles de parámetros y objetos. ¿Cómo crea usted una base de datos y cómo asigna el espacio en disco requerido para eso? Para responder adecuadamente a esa pregunta usted necesita conocer sobre los objetos básicos de la base de datos y cómo se correlacionan con el almacenamiento físico en disco.

5.1.1.2 El modelo de almacenamiento hadoop

El HADOOP tiene tanto un modelo lógico como uno físico 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 representación física de los datos. A este hecho se le llama algunas veces la independencia física de los datos.

Un contenedor es un dispositivo físico 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

(22)

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

Figura: Modelo de almacenamiento HADOOP

Aunque una tabla es el objeto básico 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 cómo están correlacionados con un espacio de tabla.

5.1.1.3 Espacios de tabla dms y sms

Los espacios de tabla son la capa lógica 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 ningún parámetro daría 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 implementación de un sistema de archivos de propósito especial, diseñado para satisfacer mejor las necesidades del gestor de base de datos.

ALMACENAMIENTO AUTOMÁTICO CON DMS: El almacenamiento

automático realmente no es un tipo separado de espacio de tabla sino una forma diferente de manejar el almacenamiento DMS. Los contenedores DMS requieren más mantenimiento (vea la siguiente sección) y el Almacenamiento Automático se introdujo en el HADOOP V8.2.2 como una forma de

(23)

simplificar la administración de espacio.

Los espacios de tabla SMS requieren muy poco mantenimiento. No obstante, los espacios de tabla SMS ofrecen menos opciones de optimización y pueden no desempeñarse tan bien como los espacios de tabla DMS.

5.1.2 Resumen

 Una base de datos es una colección de objetos, lo cual incluye tablas, índices, vistas y objetos extensos.

 Estos objetos se almacenan en espacios de tabla, que a su vez están formadas por contenedores.

 Los espacios de tabla pueden ser administrados por el sistema operativo (SMS) o por el HADOOP (DMS, Almacenamiento Automático).

 Usted decide qué tipo de espacio de tabla utilizar principalmente con base en factores de desempeño y mantenimiento.

5.2 T

RABAJANDO 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 más 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 número de filas de un conjunto de resultados, use la cláusula FETCH FIRST. Por ejemplo:

Recupere columnas específicas de una tabla especificando una lista seleccionada de nombres de columna separados por comas. Por ejemplo:

Use la cláusula DISTINCT para eliminar filas duplicadas de un conjunto de resultados. Por ejemplo:

Use la cláusula AS para asignar un nombre significativo a una expresión o a un elemento de la lista seleccionada. Por ejemplo:

(24)

Sin la cláusula AS, la columna derivada habría sido llamada 2, indicando que es la segunda columna del conjunto de resultados.

5.2.2 Usando la cláusula where para limitar la cantidad de datos retornados por una consulta

Use la cláusula WHERE para seleccionar filas especificar de una tabla o vista, al especificar uno o más criterios de selección o condiciones de búsqueda. Una condición de búsqueda consiste en uno o más predicados. Un predicado específica algo sobre una fila que es o verdadera o falsa (vea Las partes del enunciado SQL). Cuando esté construyendo condiciones de búsqueda, asegúrese de:

 Aplicar operaciones aritméticas solo a tipos de datos numéricos

 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 símbolo mayor-que podría 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 cláusula WHERE de una consulta principal y que alimenta su conjunto de resultados a esa cláusula WHERE. Por ejemplo:

5.2.3 Usando un conjunto de operadores para combinar dos o más consultas

(25)

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 más

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 añadir nuevas filas a tablas o vistas

El enunciado INSERT se utiliza para añadir nuevas filas a una tabla o a una vista. Insertar una fila en una vista también inserta la fila en la que se basa la lista.

Use una clausula VALUES para especificar datos de columna para una o más 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 más columnas de cada fila que satisfaga las condiciones especificadas por la cláusula WHERE. Por ejemplo:

(26)

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

6 FUNCIONES COMPLEMENTARIAS DE

HADOOP UDB

Conectividad

Las herramientas de conectividad permiten acceder a los datos más 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. Además, 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 tamaño y tipo de organización. Está dirigido a resolver la problemática 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, además de la familia HADOOP.

Permite de forma totalmente gráfica acceder, transformar y distribuir los datos automáticamente y sin programar una línea de código.

(27)

Data Mining

Las empresas suelen generar grandes cantidades de información sobre sus procesos productivos, desempeño 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 identificar tendencias y comportamientos, no sólo para extraer información, sino también para descubrir las relaciones en bases de datos que pueden identificar comportamientos que no son muy evidentes.

HADOOP UDB posibilita el análisis orientado al descubrimiento de información escondida en los datos, realizando modelización predictiva, segmentación de la base de datos, análisis de vínculos, o detección de desviaciones.

(28)

Incluye las siguientes técnicas:

 Clustering (segmentación ).

 Clasificación.

 Predicción.

 Descubrimiento Asociativo.

 Descubrimiento Secuencial de Patrones.

 Descubrimiento Secuencias Temporales.

Todas las técnicas mencionadas permiten realizar:

 Segmentación de Clientes.

 Detección de Fraudes.

 Retención de Clientes.

 Ventas Cruzadas.

6.1 B

USINESS

I

NTELLIGENCE

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.

(29)

La tecnología basada en las ediciones del HADOOP UDB Data Warehouse, permite integrar la información en:

 Tiempo Real.

 Percepción.

 Toma de Decisiones.

El HADOOP Data Warehouse hacen más fácil, la implementación 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 Edición Corporativa de HADOOP Data Warehouse representa el marco más reciente de la evolución 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 desempeño.

• Aplicaciones eficaces de búsqueda de datos para modelado y visualización de rutinas y resultados de búsqueda, así como para la integración de aplicaciones analíticas.

• Optimizaciones integradas a OLAP para acelerar el desarrollo e implementación de aplicaciones analíticos.

• Soporte para configuraciones de servidores en cluster, MPP (Massively Parallel Processing) en una arquitectura true shared-nothing.

• Funcionalidad de administración de consultas y recursos para controlar, administrar y monitorear el ambiente de carga, de consultas y de actividades.

• Y además, todos los recursos de desempeño y funcionalidad de Business Intelligence en el HADOOP UDB Enterprise Server Edition y más.

(30)

6.2 HADOOP D

ATA

W

AREHOUSE

Son sistemas que contienen datos de operaciones que se ejecutan en las transacciones diarias de una empresa. Estos contienen información que es útil para los analistas comerciales. Por ejemplo: Los analistas pueden utilizar información sobre qué productos se han vendido, en qué regiones y en qué época del año para buscar anomalías o para proyectar ventas futuras.

(31)

6.2.1 Esquema conceptual de un HADOOP Data Warehouse

El Data Warehouse se define en el Centro de Depósito de Datos del HADOOP UDB para automatizar los procesos necesarios para poblar y mantener el depósito de datos. Antes de definir el depósito se reúne información acerca de los datos operativos que se van a utilizar como entrada para el depósito y de los requisitos para los datos de depósito.

El Administrador de la Base de Datos es el responsable de los datos operativos, es una buena fuente de información acerca de los datos operativos. Los usuarios de negocios que tomarán decisiones comerciales basadas en los datos del depósito son una buena fuente de información acerca de los requisitos del depósito.

Y finalmente se crea una Base de Datos que contendrá las tablas de destino del depósito, que consisten en datos de fuente de depósito limpios y transformados.

EL HADOOP UDB incluye funciones y funcionalidades que transforman al DW en una plataforma que permite distribuir y manejar información multidimensional a través de la empresa. Estas convierten el Warehouse Relacional en una plataforma para el análisis 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:

(32)

 Puede que no tengan conocimientos suficientes para consultar la base de datos de operaciones. Por ejemplo: La consulta de bases de datos IMS requiere un programa de aplicación que utiliza un tipo especializado de lenguaje de manipulación 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 realización 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, región y temporada son mucho más útiles para los analistas que los datos sin clasificar.

7 GESTIONAR BIG DATA CON MEDIANTE

HADOOP

Hoy en día con el incremento de la información y la diversidad de formatos en la que están representados se convierte en un reto el análisis de la información con grandes volúmenes de información desde un solo manejador de base de datos. Con las características de HADOOP la explotación y análisis de la información se logra de una manera fácil.

7.1 B

IG

D

ATA

Los datos son una de las partes más 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 análisis de la información. Podemos citar algunos ejemplos:

 Empresas de salud donde se pueden procesar más de dos millones de pacientes al año.

 Incremento de análisis de información 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.

(33)

clientes y a la eficacia de cadena de suministro. Sin embargo, muchos directores luchan por darle sentido a los números.

HADOOP está construido para manejar grandes volúmenes de datos. Ha permitido a Hadoop el procesamiento distribuido mediante el uso de MPP por años (HADOOP PE, DPF, EEE, ICE, BCU, Smart Analytics System, PureData). HADOOP también permite alta compresión administrando mayores volúmenes de datos a un menor costo.

También se han implementado numerosas características para almacenar y consultar más datos de una forma más rápida. Por ejemplo la utilería Ingest permite leer datos desde archivos de una manera más rápida sin afectar la disponibilidad de la información y con la opción 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, imágenes, XML, audio, entre otros.

2) Ha administrado datos XML por años (XML Extender in v7, pureXML in HADOOP 9.1). 3) Permite un procesamiento más rápido de datos XML:

a) Mejora el procesamiento de la función XMLTable y XQuery para las consultas b) Creación 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 búsquedas difusas, búsquedas de proximidad, ejecutar búsquedas 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 C

ARACTERÍSTICAS DE

B

IG

D

ATA

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

 Costo eficiente al procesar grandes volúmenes de información.

(34)

cada tres empresas no confían en la información que utilizan para tomar decisiones.

 Imagine las posibilidades de analizar todos los datos disponibles como por ejemplo:  Análisis de la baja latencia en la red.

 Detención de amenazas precisa y oportuna.

 Predecir y actuar sobre la intención de compra.

 Detención de riesgos y fraudes.

 Entender y actuar sobre la confianza del cliente.

 Optimización del flujo de tráfico en tiempo real.

Big Data es un tema caliente porque la tecnología permite hacer posible el análisis de todos los datos disponibles aún cuando vienen de diferentes fuentes con distintos formatos.

7.2.1 Análisis con Big Data

Big Data y análisis de negocios representan el nuevo campo de batalla de TI. La cantidad y los tipos de datos que son capturados para el análisis de negocios es cada vez mayor. Un ejemplo clásico de este súper 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 electrodomésticos.

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á diseñado para ser altamente tolerante a fallos.

Por ejemplo, una empresa que recopila datos sobre sus clientes de diversas fuentes, tales como registros históricos de navegación 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 campaña de publicidad que será de interés para sus clientes. Los retos de esta empresa son determinar los datos que necesita para su campaña de publicidad, reunir los datos de las diferentes fuentes, e integrar esos datos en registros significativos que proporcionaran información útil para futuras consultas analíticas. Todo lo anterior es posible mediante el uso de Hadoop dentro de HADOOP. A través de Hadoop se tiene la posibilidad

(35)

de obtener dinámicamente la información y luego integrarlos perfectamente mediante el uso de sentencias SQL.

7.2.2 Función de Tabla Java Generic

HADOOP también proporciona la capacidad de definir una función de tabla que puede reaccionar a diferentes conjuntos de resultados de diversas infraestructuras sin necesidad de una nueva definición de la función. Usted sólo tiene que utilizar las instrucciones SQL para hacer referencia a la función de tabla genérica y luego definir la forma de la tabla de salida, incluyendo los nombres de columnas y tipos de datos.

Solo los parámetros de entrada se especifican en la función DDL CREATE. Esta característica proporciona una mayor flexibilidad y productividad. Los desarrolladores pueden utilizar la misma función para generar la salida y adaptarse a diferentes escenarios de negocio. Además, estas funciones proporcionan un punto de integración flexible en sentencias SQL y entre las aplicaciones HADOOP y otros.

1) Un usuario define la Función de tabla escrita en el lenguaje de programación Java.

a) La implementación es proporcionada por una aplicación fuera de HADOOP. b) Una Función de tabla regresa un conjunto registros o filas.

2) ¿Por qué es Generic?

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

tiempo de ejecución.

3) Salida de Función de Tabla

a) Se accedan a través de sentencias SQL.

(36)

7.2.3 Pasos para crear una función 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 asegúrese de utilizar las interfaces o clases javas diseñadas 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 función Java en HADOOP

e. Una vez registrada usted puede utilizar la nueva función 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 característica de HADOOP Generic Table, eso puede ser utilizado para integrar datos de diferentes fuentes y mejorar la interacción entre aplicaciones. En el caso de Hadoop se pueden crear resultados estandarizados basados en diferentes estructuras de datos sin tener que cambiar la definición de la función.

7.3 U

SAR EFECTIVAMENTE LAS UTILIDADES DE MOVIMIENTO DE

DATOS DE

HADOOP

Elegir las utilidades y metodologías apropiadas de movimiento de datos es clave para mover eficientemente datos entre distintos sistemas en un entorno grande de depósito de datos. Se proporciona conocimientos sobre los pros y contras de cada método con IBM InfoSphere Warehouse e incluye un estudio comparativo de los diversos métodos usando código real de HADOOP para el movimiento de datos.

7.3.1 Introducción

Las utilidades de movimiento de datos en HADOOP son fáciles de usar con un entorno de base de datos de una sola partición. Sin embargo, existen consideraciones extra cuando se

(37)

trata de un entorno grande de depósito de datos que tiene terabytes de tablas STAGING, STORE y DATAMART en el entorno de Database Partition Feature (DPF) de InfoSphere Warehouse. En este artículo, veremos las opciones de movimiento de datos disponibles en HADOOP y los mejores métodos adecuados para el entorno de depósito de datos.

7.3.2 Opciones de movimiento de datos de HADOOP

La tabla a continuación lista las opciones de movimiento de datos disponibles en HADOOP, junto con una descripción de cómo es comúnmente usado cada una y un ejemplo.

Tabla. Opciones de movimiento de datos disponibles en HADOOP

Nombre

de la

utilidad

Propósito Uso práctico Ejemplo

Export Para exportar datos de una tabla de base de datos a un archivo

Este método 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.

EXPORT TO DATAMART. F_CUST_PROF.DEL OF DEL MESSAGES DATAMART. F_CUST_PROF.EXPORT.MSG SELECT * FROM DATAMART.F_CUST_PROF;

Load Para realizar inserciones de datos rápidas en una tabla existente en la base de datos

Esta es la utilidad que está buscando si su principal preocupación es el rendimiento de la inserción de datos. Inserta páginas formateadas en la base de datos en lugar de una inserción de fila por fila. El administrador/usuario de la base de datos también puede elegir no registrar la actividad en los registros de transacción. Pero tenga en cuenta que esta utilidad tiene la posibilidad de explotar completamente los recursos del sistema.

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 Para insertar datos de un archivo en una tabla o vista

Esta utilidad es benéfica al insertar datos en una vista y tabla que tengan una restricción y cuando su intención no sea colocar la tabla en el estado 'set integrity'. También es útil si tiene desencadenantes y desea que sean activados mientras se insertan los datos.

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 HADOOPmov e Copia tablas de un entorno en otro al nivel de esquema (múltiples tablas en general)

Cuando tiene muchas tablas que necesiten ser copiadas entre entornos con base en el esquema, esto puede conseguirse fácilmente usando HADOOPmove con la opción COPY.

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:

(38)

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 difícil 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 más rápidas

3) El requisito para distribuir equitativamente los datos a través de los nodos de partición de base de datos

Ahora que tiene una visión general de las opciones de movimiento en HADOOP, observe detalladamente las técnicas con el código real para el movimiento de datos.

7.3.4 Técnicas de movimiento de datos de almacén de HADOOP

7.3.4.1 Técnica #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 pequeñas con particionamiento de hash o sin partición de hash)

(39)

1. Conéctese a SourceDB localmente en el servidor de base de datos de origen.

CONNECT TO SourceDB;

2. Realice una exportación 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. Conéctese a TargetDB localmente en el servidor de base de datos de destino.

CONNECT TO TargetDB;

7. Realice una carga o importación.

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 operación.

(40)

9. Ejecute RUNSTATS para mantener las estadísticas actualizadas.

RUNSTATS ON TABLE DATAMARTS.SCENARIO_CALENDAR WITH DISTRIBUTION AND DETAILED INDEXES

ALL;

7.3.4.2 Técnica #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 técnica.

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. Conéctese a SourceDB localmente en el servidor de base de datos de origen. CONNECT TO SourceDB;

3. Realice una exportación 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. Conéctese a TargetDB remotamente en el servidor de base de datos de destino.

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

5. Realice una carga o importación 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;

(41)

6. En el caso del comando de carga, ejecute SET INTEGRITY al final de la operación.

SET INTEGRITY FOR DATAMARTS.SCENARIO_CALENDAR IMMEDIATE CHECKED;

7. Ejecute RUNSTATS para mantener las estadísticas actualizadas.

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

7.3.4.3 Técnica #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 técnica.

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. Conéctese a la base de datos de origen remotamente desde el servidor de destino. CONNECT TO SourceDB user <username> using <password>;

3. Realice una exportación 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. Conéctese a TargetDB localmente en el servidor de base de datos de destino. CONNECT TO TargetDB user <username> using <Password>;

5. Realice una importación o carga local.

LOAD FROM DATAMARTS.SCENARIO_CALENDAR.DEL OF DEL SAVECOUNT 10000

(42)

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 operación.

SET INTEGRITY FOR DATAMARTS.SCENARIO_CALENDAR IMMEDIATE CHECKED;

7. Ejecute RUNSTATS para mantener las estadísticas actualizadas.

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

7.3.4.4 Técnica #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 técnica.

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 0 2011-09-18 16:32 datapipe

3. Conéctese 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 grábelos en un lado del conducto de SO (datapipe). En el escenario empresarial, el equipo de administración de la base de datos renovó UAT desde PROD. sólo 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

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,