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.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
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
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
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
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ÍSTICASG
ENERALESH
ADOOP:
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)
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ÓN2.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
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
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
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
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
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ÓNSSH
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
4.3 I
NSTALACIÓN DEJ
AVAJava 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.
$ 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
ADOOPM
ODOS DE FUNCIONAMIENTOUna 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
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:
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.
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>
4.5 H
ADOOPI
NSTALACIÓNV
ERIFICACIÓNLos 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
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.
5 DATOS HADOOP
5.1 A
CCEDIENDO A DATOSHADOOP
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
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
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 DATOSHADOOP
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:
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
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:
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.
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.
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
USINESSI
NTELLIGENCEPARA
HADOOP UDB
Las ediciones del HADOOP Data Warehouse proporcionan gran funcionalidad de BI (Business Intelligence) dentro de las bases de datos.
Estas nuevas ediciones combinan la fuerza del HADOOP UDB a la infraestructura esencial de Business Intelligence.
La 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.
6.2 HADOOP D
ATAW
AREHOUSESon 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.
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:
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
IGD
ATALos 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.
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 DEB
IGD
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.
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
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.
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 DEDATOS 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
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:
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)
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.
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;
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
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