Hadoop

Tools for Big Data.

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Hadoop por Mind Map: Hadoop

1. Indexación y motores de búsqueda

1.1. Se busca sobre la metadata y no la data.

1.1.1. Se crean archivos de tipo lucene clave valor donde se almacenan los datos

1.2. Lucene

1.2.1. API de programación

1.2.2. Contenedores web que usan la RestAPI

1.2.2.1. Apache Solr

1.2.2.1.1. Wrapper de Lucene, se comunica por HTTP

1.2.2.2. Yeti+Elastic search

1.2.3. Busqueda por indices

1.2.4. Facetados

1.2.4.1. Agrupacion para hacer conteo

2. Pig

2.1. Creado por yahoo

2.2. Hacer consultas tipo procedimiento (paso a paso)

2.3. Analizar grandes volumenes de datos con MapReduce

2.4. Maneja consultas complejas anidadas, no necesita estructura

2.5. Se puede usar de forma local sin hadoop

3. Tres Vs de Big Data

3.1. Volumen

3.1.1. PB

3.1.1.1. Hadoop

3.1.2. TB

3.1.2.1. DataWarehouse

3.1.3. GB

3.1.3.1. Base de datos en memoria

3.1.3.1.1. Redis

3.1.3.1.2. Dynamo

3.1.3.1.3. Hasta TB < DataWarehuose

3.2. Velocidad

3.2.1. Horas

3.2.1.1. DataWarehouse

3.2.1.1.1. Hasta TB

3.2.1.2. Hadoop

3.2.1.2.1. Hasta PB

3.2.2. Min

3.2.2.1. DataWarehouse

3.2.2.1.1. Hasta TB

3.2.2.2. Hadoop

3.2.2.2.1. Hasta PB

3.2.3. Seg

3.2.3.1. Base de datos en memoria

3.2.3.1.1. Redis

3.2.3.1.2. Dynamo

3.2.3.1.3. Hasta TB < DataWarehuose

3.2.4. SubSec

3.2.4.1. ElasticSearch

3.2.4.1.1. Solo GB

3.3. Variedad

4. Apache Hadoop o Hadoop Common

4.1. Hadoop MapReduce + HDFS

5. Apache Spark

5.1. Framework de computación distribuida basado en databricks

5.2. No necesita Hadoop, tiene sus propios mecanismos de MapReduce

5.3. Mejor que Yarn

5.4. Tipos de datos

5.4.1. RDD

5.4.1.1. no se puede modificar

5.4.1.2. Colecciones de datos estructurados y no estructurados

5.4.2. DataFrame

5.4.2.1. Permite hacer operaciones de SparkSQL

5.5. Streaming estructurado

5.5.1. Stateless

5.5.1.1. Puede perder data, no se guardan logs si hay un error se pierden los datos

5.5.1.2. RDD

5.5.2. Stateful

5.5.2.1. No pierde data

5.5.2.2. Dataframe

5.6. Componentes

5.6.1. Spark SQL

5.6.2. Spark Streaming

5.6.3. MLib

5.6.4. GraphX

6. Procesamiento

6.1. Batch

6.1.1. Se usan stored procedures on BDD

6.1.2. Pentaho

6.1.3. Es lento, demora horas

6.2. Near to Real Time

6.2.1. Google Maps

6.2.2. Tipos

6.2.2.1. Suaves

6.2.2.1.1. Puedo perder data

6.2.2.2. Rigidos

6.2.2.2.1. No puedo perder data

6.2.3. Segundos o minutos

6.3. Real Time

6.3.1. Radar de aeropuerto

6.3.2. Menos ed segundos

6.4. Streaming

6.4.1. No significa real time

6.4.2. Significa flujo continuo de datos

7. Google File System

7.1. Master

7.1.1. Unico punto de falla

7.1.2. Se crea el shadow master

7.1.2.1. Cluster activo pasivo (ya no se usa)

7.2. Chunk Server

7.2.1. Guarda archivos por pedazos

8. DataLake

8.1. Base de datos

8.2. Datos semiestructurados

8.2.1. JSON

8.3. Datos no estructurados

8.3.1. Imagenes

8.4. Apache Hadoop por ejemplo

9. Kafka

9.1. Publish Suscribe

9.2. Se divide por topicos

9.3. Ingesta en tiempo real

9.4. Se usa con spark streaming, para agarrar los datos del lake

9.4.1. Implementado con DataFrame

9.4.2. Lee en micro-batches (baldes)

10. DataWarehouse

10.1. Base de datos relacional

10.1.1. Tabla de hechos

10.1.1.1. Goles amarillas

10.1.2. Tabla de dimensiones

10.1.2.1. Goles de Uruguay en el primer mundial

10.1.2.2. Grano grueso o fino

10.1.2.2.1. Por semana

10.1.2.2.2. Por año

11. Snapshot (NO BACKUP)

12. Factor de replicación (IMPAR)

13. Map reduce

13.1. Map

13.1.1. Formatos de archivos clave valor

13.1.1.1. Parquet

13.1.1.2. Avro

13.1.1.3. ORC

13.2. Reduce

13.2.1. Algoritmo de reducción compresion

13.2.1.1. GZ

13.2.1.2. Snappy

13.2.1.3. HUDI

13.3. MapReduce V2 Yarn

13.3.1. Necesita Hadoop

13.3.2. segunda versión del planificador de trabajos y tareas para map reduce

13.3.3. basado en grafo aciclico distribuido

14. Flujo distribuido Juntos generan un cluster de archivos distribuidos ->

14.1. Master

14.1.1. Almacena metadata y ordena a los workers

14.1.2. Trabaja con Jobs

14.1.3. Usa NameNode y SecondaryNameNode por si se cae

14.2. Worker

14.2.1. Almacena data pura replicada

14.2.2. Trabaja con mapeo y reducción

14.2.3. DataNode tiene los datos

15. HBase

15.1. Base de datos NoSQL de Hadoop

15.2. Escribe en el sistema de archivos distribuido

15.3. Versiones

15.3.1. Cloudera

16. ZooKeeper

16.1. Permite sincronizar configuración entre un cluster de servidores

16.2. Sirve para monitorear servidores

16.3. También para decir que va a hacer cuando se levante para ponerse al dia

17. Sqoop

17.1. Migrar datos de bases de datos haciendo map reduce y metiendola en HDFS

18. Arquitecturas de procesamiento

18.1. Lambda

18.1.1. Pueden seguir procesando cosas en batches

18.1.2. Se agrega una speed layer

18.1.2.1. Puede ser Near to Real Time o Real Time

18.2. Kappa

18.2.1. No permite procesar en batches

18.2.2. Solo en speed layer

19. Hue

19.1. Interfaz web para ver todo lo que hace con hadoop en un mismo sitio por HTTP

19.1.1. Hive

19.1.2. Pig

19.1.3. Hadoop

19.1.4. SparkSQL

19.1.5. Bases de datos relacionales

20. ELK

20.1. Elastic search

20.2. Kibana

20.2.1. Hacer graficas con los indices de elastic search

20.3. Logstash

20.3.1. Procesar logs a traves de patrones

21. Hive

21.1. Creado por facebook

21.2. Sobre HDFS Y Hadoop MapReduce

21.3. Como aplicar SQL sobre los archivos del HDFS

21.4. Usa HBase

21.5. No esta diseñado para baja latencia (min minutos)

21.6. Viene con una base de datos para guardar la metadata de donde buscar los datos de Hadoop (MetaStore)

21.7. No borra data de Hadoop, solo de sus tablas internas