KEEDIO: Arquitecturas Big Data
INDICE
Lo que es Big Data
La cadena de valor de Big Data
Casos de uso – Con éxitos y fracasos
Roles de Big Data y el cambio en las organizaciones
Cómo lo hacemos: Con una plataforma y metodología
2. RESUMEN
Lo que es Big Data
La cadena de valor de Big Data
Casos de uso – Con éxitos y fracasos
Roles de Big Data y el cambio en las organizaciones
Cómo lo hacemos: Con una plataforma y metodología
3. Solving Big Data Issues 3
LA CADENA DE VALOR BIG DATA
INGESTIÓN
ALMACENAMIENTO
Datos en crudo, sin tratar HDFS
BBDD NoSQL
Almacenamiento Operacional
CONSULTA
VISUALIZACIÓN
APLICACIONES
EXTERNAS
MACHINE LEARNING Y
PREDICITVE
TRATAMIENTO
Computación y tratamiento de los datos.
Batch, Tiempo Real, Streaming.
4. Solving Big Data Issues 4
INGESTIÓN
La ingesta es quizás la parte más importante en un
proyecto Big Data.
Puede consumir hasta un 80% de esfuerzos del proyecto.
La calidad del dato en la fase de ingesta marca gran parte
del éxito analítico posterior.
Big Data vs Clean Data.
Es muy importante el metadatado.
Es un proceso iterativo que busca aumentar la calidad de
la información.
5. Solving Big Data Issues 5
INGESTIÓN
Es crítico la elección de la herramienta adecuada según el
caso de uso o necesidades de ingesta.
Herramientas de flujo continuo o herramientas de
“ELT” (no ETL)
Desacoplamiento de la fuente del dato del Data Lake
Apache Kafka como elemento crítico en las arquitecturas
de ingesta
Apache Flume y Apache NiFi son las principales opciones,
pero no las únicas.
6. Solving Big Data Issues 6
ALMACENAMIENTO PERSISTENTE
Importante el concepto de almacenamiento en RAW.
Información cruda sin procesar para poder ser reutilizada.
Los eventos/información RAW se deben tratar como
”hechos” inmutables.
Este almacenamiento de información supone una
“golden source”.
Se hace en almacenamientos distribuidos por SW (bajo
coste). HDFS es el estándar del ecosistema Hadoop, pero
hay alternativas como CEPH o GLUSTERFS
En cloud imperan S3 (Amazon) y Blob Storage (Azure).
7. Solving Big Data Issues 7
PROCESAMIENTO
Dos modelos principales de procesamiento
§ BATCH
§ STREAMING
Aunque tienen objetivos analíticos
diferentes, existe una corriente en auge de
convergencia entre ambos .
11 100 01
0001 11
01 001 110
11 100 01
01 001 110
11 100 01
STREAM PROCESS BATCH PROCESS
horas< min
OPERATIONAL
STORAGE
8. Solving Big Data Issues 8
PROCESAMIENTO: BATCH
El procesamiento en Batch tiene un objetivo principal
atemporal.
Trabaja con grandes volúmenes de datos sin tener tanta
relevancia la latencia u obtención de resultados rápidos.
El origen está en el paradigma de MapReduce pero hay
nuevos frameworks que lo optimizan.
En estos framework de procesamiento se prima el
throughput sobre la latencia.
Existen herramientas de abstracción a MapReduce como
Hive para establecer consultas SQL like sobre los datos.
9. Solving Big Data Issues 9
PROCESAMIENTO: STREAMING
En los frameworks de Streaming prima la baja latencia
sobre el throughput.
Habitualmente los resultados de los procesos son
enviados a apps externas o a BBDD NoSQL de baja
latencia de consulta.
Según el modelo se pueden utilizar diferentes
herramientas:
§ Spark Streaming - Micro Batches
§ Storm – Real Time, basado en eventos
En ocasiones se complementa la funcionalidad de los
framworks con el uso de herramientas CEP.
10. Solving Big Data Issues
LENGUAJES, FRAMEWORKS E IDES/NOTEBOOKS - ENCUESTA
10
Languages
Python
R
Scala
Frameworks
Map Reduce: under the hood in most services/applications
Spark
§ Spark-Scala
§ PySpark
§ SparkR
Flink (Java & Scala)
IDEs/notebooks
Jupyter
Zeppelin
RStudio
Spyder
Other IDEs: IntelliJ & Eclipse
Reported usage & Big Data roles
Python è data engineers/scientists
R è data scientists (biased towards analysis)
Scala è data engineers
Python + {R|Scala} è data engineers/scientists
No Framework: Python (pandas) or R
Spark single flavor: PySpark typically
Multiple Spark: PySpark + Scala-Spark
Python: Jupyter (70%), Spyder (25%)
Scala: Zeppelin (40%), IntelliJ (30%), Jupyter (25%)
R: RStudio (75%)
11. Solving Big Data Issues 11
MACHINE LEARNING
Machine Learning
Conjunto de técnicas estadístico-
matemáticas que permiten
aprender a sistemas
informáticos las características
de usuarios, procesos,
fenómenos… para
Predecir
Anticiparse a tendencias, decisiones o
demandas del mercado/clientes a partir
de un modelo y unas entradas
predefinidas
Clasificar
Reconocer el grupo/clase de individuos,
sucesos o eventos para responder/
gestionarlos de forma más eficiente
Sistemas de recomendación
Aprendizaje contínuo para
adaptar sugerencias,
presentación de productos, etc.
que permite amoldarse
automáticamente a gustos/
necesidades del cliente
12. Solving Big Data Issues 12
MACHINE LEARNING
Analytics: Statistics, Math & Machine Learning
Distributed computation
Batch or stream: offline or online analytics
Spark MLlib
Language specific APIs
• Scala: ScalaNLP
• Python: Scikit-learn, SciPy, NumPy…
• R: CRAN packages such as caret, randomForest, glmnet
MLlib
Backend implementation w/ interfaces to Scala, Python & R
13. Solving Big Data Issues 13
BBDD OPERACIONALES – NoSQL
Son BBDD de baja latencia (escritura y/o lectura).
Hay algunas que lo que almacenan son “documentos” y
otras utilizadas para almacenar y manipular series
temporales.
Non ACID
Existe multitud de alternativas y no necesariamente hay
una mejor que otras para propósito general.
Elasticsearch vs Solr (indexadores no BD), Couchbase vs
MongoDB, Cassandra vs Riak
14. Solving Big Data Issues 14
EXPLOTACIÓN
Cada vez existen más conectores con el ecosistema
HADOOP.
Normalmente hay compatibilidad JDBC/ODBC con la
mayoría de las NoSQL y frameworks de computación.
Las APIs son la otra gran solución de explotación.
Aquí es donde BI se convierte en un actor importante
como complemento con Big Data.
Hay proyectos de Big Data que no se pueden hacer con BI.
Hay proyectos de BI que sí se pueden hacer con Big Data.