Vous êtes sur la page 1sur 9

Software Descripción Bases de Datos (mantenimiento, metodología,

generación).
1. Descubrimiento de grandes datos.
El procedimiento a seguir:
 Definir cuáles son los datos de interés.
 Encontrar sus fuentes (históricos o Social Media, entre
otros)
 Grabar los datos en el sistema.
Esta herramienta estándar Big Data open  Determinar cómo serán procesados.
source utilizada para analizar y procesar el Dentro de Hadoop, pueden emplearse:
almacenamiento de grandes volúmenes de  Flume y Chukwa framework para datos no
datos. estructurados: se ocupan de los ficheros de logs.
Hadoop utiliza modelos de programación  Sqoop: si los datos provienen de una base de datos
simples para el almacenamiento y relacional.
procesamiento distribuido de grandes conjuntos 2. Extracción y limpieza de grandes volúmenes de datos.
de datos en clúster. Dispone de un sistema de  Extraer los datos de la fuente de origen datos.
archivos distribuido en cada nodo del clúster: el
 Perfilar y limpiar los datos.
HDFS (Hadoop Distributed File System), y se
 Adecuarlos a las necesidades de la empresa.
basa en el proceso de MapReduce de dos
fases.  Aplicar los estándares de calidad de datos.
• HDFS (Hadoop Distributed File System): es 3. Estructura y análisis de Big Data
un sistema de archivos distribuido, escalable y  Dotar de estructura lógica a los conjuntos de datos
portátil típicamente escrito en JAVA. tratados.
Fases  Almacenar los datos en el repositorio elegido (puede ser
1. Namenode: se ocupa del control de acceso una base de datos o u sistema)
y tiene la información sobre la distribución  Analizar los datos disponibles para hallar relaciones.
de datos en el resto de nodos. 4. Modelado de datos
2. Datanodes: son los encargados de Esta etapa se orienta al procesamiento de datos para ello
ejecutar el cómputo. requiere de:
3. Jobtracker: este nodo se encarga de las  Aplicar algoritmos a los datos.
tareas y ejerce control sobre la ejecución  Aplicar procesos estadísticos.
del proceso de MapReduce.  Resolver las peticiones lanzadas mediante el modelado
de datos en base a técnicas de minería.
• MapReduce: es el modelo de programación Hay muchas maneras de llevar a cabo estos cometidos. Las
utilizado por Google para dar soporte a la más eficientes son:
computación paralela. Trabaja sobre grandes Bases Datos NoSQL: no tienen esquema de datos fijo, por
colecciones de datos en grupos de lo que no es necesario preocuparse de comprobar el
computadoras y sobre commodity hardware. esquema cada vez que se realiza la inscripción de un
Fases registro en la base de datos. Ello supone una ventaja
1. Map: se aplica en paralelo para cada ítem considerable cuando se trabaja con cifras que alcanzan los
en la entrada de datos. millones de registros.
2. Shuffle and sort: se encarga de ordenar Frameworks de consultas:
por clave (key) todos los resultados HIVE: es un framework que permite crear tablas, insertar
emitidos por el mapper; y, recoger todos los datos y realizar consultas con un lenguaje similar al que
valores intermedios. podría llevarse a cabo utilizando consultas SQL.
3. Reduce: El resultado es la producción de PIG: permite manejar datos mediante un lenguaje textual.
una colección de valores para cada 5. Interpretación de los datos
dominio. El fin de todo trabajo con big data pasa por:
 Interpretar las distintas soluciones.
 Aportar un resultado final.
Las mejores opciones para levar a cabo esta fase de Big
Data son:
Mahout y R: librería de minería de datos que permite realizar
clustering, algoritmos de regresión e implementación de
modelos estadísticos sobre los datos de salida ya
procesados.
Es una potente herramienta para la búsqueda Es un producto que permite indexar y analizar en tiempo real
entre grandes cantidades de datos, grandes cantidades de datos de manera distribuida. Va un
especialmente cuando los datos son de tipo paso más allá de la búsqueda por texto gracias a un DSL y
complejo. un Api para búsquedas más complicadas.
Permite indexar y analizar en tiempo real un •Permite almacenar documentos (estructurados o no) e
gran volumen de datos y hacer consultas sobre indexar todos los campos de estos documentos en casi
ellos. Un ejemplo de uso son las consultas de tiempo real.
texto completo; al estar los datos indexados, los •No necesita declarar un esquema de la información que
resultados se obtienen de forma muy rápida. añadimos, pero para sacar mayor partido a la información
A diferencia de otros sistemas parecidos, no tendremos que añadir los llamados mappings.
necesita declarar un esquema de la información Características
que añadimos, no sabemos exactamente qué  Motor de búsqueda OpenSource
forma van a tener los datos. Con Elasticsearch  Escrito en Java
se puede hacer búsquedas de texto  Basado en Apache Lucene
complicadas, visualizar el estado de nuestros  Permite Arquitectura: distribuida, escalable, en alta
nodos y escalar sin demasiadas necesidades, disponibilidad
si se diera el caso de que necesitáramos más  Capacidades de búsqueda y análisis en tiempo real
potencia mediante peticiones GET
 Útil para soluciones NoSQL (sin transacciones
distribuidas)
 Permite utilizarlo sobre el ecosistema Hadoop para
proyectos de BigData
 API RESTfull sobre http para consulta, indexación,
administración en diferentes lenguajes
 Permite múltiples índices en un cluster, así como alias
de índices
 Permite consultas sobre uno o varios índices
 Full Text Search o búsqueda por texto completo
 Indexa todos los campos de los documentos JSON (sin
esquema rígido)
 Búsquedas mediante ElasticSearch Query DSL (Domain
Specific Language): multilenguaje, geolocalización,
contextual, autocompletar, etc.
ElasticSearch actúa como repositorio de información,
almacenando los documentos que indexa. Esto permite
reemplazar almacenes de documentos como MongoDB o
Raven DB por ElasticSearch en nuestros proyectos, si lo
consideramos necesario. Tanto MongoDB como
ElasticSearch son repositorios de documentos
desnormalizados en los que los documentos que gestionan
no necesitan disponer de un esquema rígido para poderlos
introducir en el sistema. Las Bases de Datos relacionales
(SQL) requieren definir las tablas, o esquema de la
información, antes de poder introducir registros de datos.
Esto hace que se tenga que pensar muy bien la estructura
de la información antes de comenzar a programar en un
proyecto para evitar que se produzcan cambios, puesto que
estos cambios representarían una migración de los datos a
otro esquema o tenerlos que adaptar. Si disponemos de un
volumen de datos muy grande, estaríamos hablando de un
proceso muy lento y costoso. Sin embargo, como
ElasticSearch no requiere un esquema predefinido de los
datos, la misma colección de documentos puede contener
documentos de estructura diferente, permitiendo un
desarrollo más ágil.
Es un motor de procesamiento de datos de
código abierto realmente rápido. Creado por
 Spark: Proporciona una API con la que se puede realizar
Matei Zaharia en la Universidad de Berkeley, se
aplicaciones con alto nivel de abstracción. Se encarga
considera el primer software open source que
de realizar el procesamiento paralelo distribuyendo los
hace la programación distribuida (muy en
datos a través del clúster.
esencia, consiste en distribuir el trabajo entre un
grupo de ordenadores, “clúster”, que trabajan  Clúster: Aloja la aplicación a ejecutar en cada uno de
como uno) realmente accesible a los científicos los nodos del clúster, determinando los recursos a
de datos. Se pueden programar aplicaciones compartir de cada uno de ellos y llevando el seguimiento
usando diferentes lenguajes como Java, Scala, de la aplicación.
Python o R. pudiendo ser, según el programa,  Almacenamiento: Al hacer uso del sistema de ficheros
hasta 100 veces más rápido en memoria o 10 distribuidos de Hadoop, el almacenamiento cumple con
veces más en disco que Hadoop MapReduce. los requisitos de Hadoop:
o Los datos son distribuidos durante el
almacenamiento
o Los datos son replicados para aumentar la
disponibilidad y cubrir la tolerancia a fallos
o Llevar la computación a los datos.
Administrar datos en R
 Cargar datos en R
 Importar bases de datos de otros formatos al R
 Manipular variables en el R
o Identificar valores perdidos
o Recodificar variables
o Calcular nuevas variables
Extensiones de archivos
R es un lenguaje de programación y entorno de  genero.rda : archivo en formato R
software para cálculo estadístico y gráficos. El  genero.xls : archivo en formato Excel (97)
lenguaje R es de los más usados por los  genero.csv : archivo en formato csv
estadistas y otros profesionales interesados en  genero.sav : archivo en formato SPSS
la minería de datos, la investigación Estos son algunos de los formatos más usuales para guardar
bioinformática y las matemáticas financieras. bases de datos con las cuales podemos realizar algunos
R se parece más al lenguaje de las análisis estadísticos.
matemáticas que a otros lenguajes de Cargar datos en otros formatos: Excel
programación, lo que puede ser un Para importar una base de datos en Excel, lo más
inconveniente para los programadores a la hora recomendable es guardar el archivo Excel en un formato
de elegir programar en R para temas de Big delimitado por comas (csv).
Data. Lo que está claro es que si eliges usar R Al usar esta opción es importante tomar en cuenta cuál es el
podrás disponer de una gran cantidad de separador de decimales que está utilizando en su
librerías creadas por la comunidad de R y otras computadora. El formato estándar es usar el punto como
tantas herramientas de altísima calidad (por separador de decimales, pero algunas personas prefieren
ejemplo, RStudio). usar las comas como separador de decimales. En este
último caso, la conversión de Excel a CSV puede variar
Cargar archivos en otros formatos: SPSS
Para importar un archivo de SPSS primero debemos cargar
el paquete “foreign”. Los paquetes en R son programas
especiales de R que contienen funciones específicas, en
este caso el paquete “foreign” sirve para importar datos en
diveros formatos.
Los paquetes del R se almacenan en lo que se llama la
“librería” (library) de R. Los programas de base de R vienen
con un conjunto de paquetes pre-instalados (entre ellos el
“foreign”), sin embargo, en algunos casos es necesario
descargar un paquete e instalarlo en el R.
Es un sistema de computación distribuida en En Storm no hay un proceso con un origen y un final: el
tiempo real y de código abierto. Permite el sistema se basa en la construcción de topologías de los Big
procesamiento sencillo y fiable de grandes Data para su transformación y análisis dentro de un proceso
volúmenes de datos en analítica (por ejemplo, continuo de entrada constante de información.
para el estudio de información de modalidad Por esa razón Storm es algo más que un sistema de análisis
continua procedente de redes sociales), RPC de Big Data, es un sistema de procesamiento de eventos
distribuida, procesos de ETL. complejos (Complex Event Processing, CEP). Este tipo de
soluciones son las que permiten a las empresas poder
Mientras que Hadoop se encarga del responder a la llegada de datos de forma repentina y
procesamiento de datos por lotes, Storm se continua.
encarga de hacerlo en tiempo real. En Hadoop Además, para un desarrollador es especialmente interesante
los datos se introducen en su sistema de por varias razones:
archivos (HDFS) y después se distribuyen a
través de los nodos para ser procesados.  Se puede utilizar en varios lenguajes de programación.
Cuando esa tarea finaliza, la información Storm está desarrollado en Clojure, un dialecto de Lisp que
regresa de los nodos al HDFS para ser se ejecuta en Máquina Virtual Java (JVM, en sus siglas en
utilizada. inglés). Su gran fortaleza es que ofrece compatibilidad con
componentes y aplicaciones escritos en varios lenguajes
como Java, C#, Python, Scala, Perl o PHP.
 Es escalable.
 Tolerante a fallos.
 Fácil de instalar y operar.
Python nos permite programar con tres metodologías:
 Programación lineal: Cuando se realiza un código y no
hay funciones en él.
 Programación estructurada: Cuando hay varias
funciones que realizan actividades distintas, y luego se
mandan llamar dentro del programa, las funciones
pueden estar en el mismo programa o en alguna librería
separada.
 Programación orientada a objetos: Se basa en clases
en la definición de objetos.
Python es un lenguaje interesante no solo para visualizar
datos, sino también por su capacidad para automatizar
procesos, extraer datos o usarlo en aprendizaje automático.
Con Python se puede cambiar grandes grupos de datos a
través de programación sencilla, simplificar la utilización de
las APIs para capturar datos con su librería Requests y
extraer información con NumPy, scipy, scikit-learn y pandas.

Aunque Python sirve para casi todos los campos que


engloban la ciencia de datos, las librerías destinadas a la
visualización de datos son uno de sus puntos clave. A
continuación, se describen las librerías más usadas por
Python.
1. Matplotlib
Gráficos de áreas, histogramas, visualizaciones de líneas,
barras, diagramas de dispersión… matplotlib es una de las
librerías en Python más utilizadas en ciencia de datos. Gran
parte de su éxito es la facilidad que da a los desarrolladores
a la hora de diseñar visualizaciones con datos a partir de
Es un lenguaje avanzado de programación con muy pocas líneas de código y que luego esos gráficos se
la ventaja de ser relativamente fácil de usar puedan incluir en cualquier proyecto web.
para usuarios que no estén familiarizados con
la informática de manera profesional, pero que Con matplotlib también se pueden hacer visualizaciones con
necesitan trabajar con análisis de datos. mapas (en ese caso es necesario utilizar también Basemap)
Es una herramienta para Big Data muy y en tres dimensiones (mplot3D, un kit de herramientas que
eficiente, en parte debido a la gran comunidad añade funcionalidades de diseño en 3D a matplotlib, con la
existente, por lo que Python dispone de muchas posibilidad de rotar la figura e incluso hacer zoom en la
librerías ya hechas por otros usuarios. propia visualización).
Sin embargo, tiene en su contra que no es un 2. Seaborn
lenguaje muy rápido en su ejecución, por lo Es una librería de visualización de datos en Python basada
que suele ser empleado para tareas de en matplotlib. La idea de esta libreria es que los científicos
integración o tareas donde no existen de datos dispongan de una interfaz para hacer gráficos
cálculos pesados. estadísticos atractivos e explicativos: el objetivo es visualizar
datos complejos de forma sencilla y extraer conclusiones.
Sus características:
 Tiene varios temas integrados para mejorar el diseño de
matplotlib.
 Dispone de herramientas para la elección de paletas de
colores.
 Funciones para comparar subconjuntos de datos.
 Herramientas para adaptar y visualizar modelos de
regresión lineal.
 Funciones para visualizar matrices de datos.
 Uso de algoritmos de clustering.
 Posibilidad de establecer series temporales estadísticas
con los datos.
3. Bokeh
Ofrecer gráficos elegantes, atractivos y sencillos, al estilo de
la librería de JavaScript D3.js, pero también proporcionar
una interactividad de alto nivel con grandes volúmenes de
datos. Es una opción interesante si se quieren crear
visualizaciones gráficas, aplicaciones con datos o tableros
de mandos.
Con Bokeh se pueden hacer visualizaciones de todo tipo,
enfocadas fundamentalmente para navegadores modernos:
mapas de coropletas, mapas de calor, gráficos de líneas, de
áreas, de barras.
4. Pygal
Se utiliza fundamentalmente para la creación de gráficos en
formato SVG, algo habitual para la creación de
visualizaciones interactivas para proyectos digitales.
También permite descargar las gráficas en formato de
imagen, concretamente en .png, pero deben instalarse las
dependencias que lo permiten.
Se pueden hacer visualizaciones de todo tipo: gráficos de
barras, de líneas, de tarta, gráficos de embudo y también
todo tipo de visualizaciones con mapas.
5. Plotly
Es una herramienta algo distinta a las demás: es una librería
online para el análisis y la visualización de datos. Dispone de
una documentación muy completa, con tutoriales muy
accesibles, no solo para hacer todo tipo de gráficos a partir
de los diseños servidos por matplotlib, sino también
directamente con la API.
La API permite manejar datos para hacer gráficas que luego
se pueden descargar en formato de imagen o bien embeber
en una web mediante un código. Para instalar la API en
Python se puede usar pip. Cualquier usuario que necesite
trabajar con la API deberá seguir los pasos de la
documentación.

Bibliografía

 http://cdn2.hubspot.net/hub/239039/file-884064500-pdf/docs/PWD_-_BIG_DATA_-_hadoop_-
_que_significa_haddop_en_el_mundo_del_big_data.pdf
 https://bbvaopen4u.com/es/actualidad/cinco-librerias-en-python-para-cientificos-de-datos-como-visualizar-informacion
 https://www.adictosaltrabajo.com/tutoriales/primeros-pasos-elasticsearch/
 https://www.baoss.es/10-herramientas-para-manejar-big-data-analytics/
 http://oa.upm.es/37766/1/PFC_ENRIQUE_RUIZ_GARCIA_2015.pdf
 http://www.iic.uam.es/innovacion/herramientas-big-data-para-empresa/
 http://www.oracle.com/technetwork/es/articles/database-performance/big-data-oracle-hadoop-2813760-esa.html.
 http://www.ticout.com/blog/2013/04/02/introduccion-a-hadoop-y-su-ecosistema
 http://www.davinci-ti.es/introduccion-a-elasticsearch-y-como-instalarlo/

https://aristeguinoticias.com/0303/mexico/firma-pemex-el-primer-contrato-con-una-empresa-privada-para-extraer-crudo/

seg mañana

Vous aimerez peut-être aussi