Translate

miércoles, 6 de junio de 2018

Spark - Teoria


Spark





Que es un dataframe en SQL SPARK?

Un dataframe es basicamente un fichero organizado en columnas. Conceptualmente es como una tabla en SQL.

En JAVA y SCALA un dataframe es representado como un fichero (dataset) de columnas.


Los dataframes se pueden crear:
1- desde un RDD
2- desde una tabla HIVE
3- desde otras fuentes de datos SPARK


Que es un fichero PARQUET en SPARK?

Apache PARQUET es un formato de guardado de datos en columnas disponible en el ecosistema HADOOP.
Cualquier framework, modelo de datos o lenguaje de programacion puede usarlo.

Es un formato comprimido, eficiente y codificado comun en los proyectos HADOOP.

SPARK SQL soporta la lectura y escritura de ficheros PARQUET, el cual preserva el esquema de datos original.

Durante la operacion de escritura todas las columnas son convertidas automaticamente para que puedan albergar tipo de datos NULL, asi en caso de que una columna no contenga datos se pondra automaticamente como NULL.


Cual es la diferencia entre APACHE SPARK y APACHE HADOOP MAPREDUCE?

- Velocidad: SPARK es de diez hasta cien veces mas rapido que Hadoop debido a que los procesos se hacen en MEMORIA.
- Memoria: SPARK guarda los datos en Memoria, mientras que Hadoop los guarda en disco duro.
- RDD: SPARK utiliza RDD que garantiza la tolerancia a fallos. Hadoop utiliza la replicacion de datos en multiples copias para conseguir la tolerancia a fallos.
- Streaming: Apache Spark soporta streaming de una forma mas facil que la usada por Hadoop.
- API: Spark soporta multiples fuentes de datos y diferentes lenguajes de programacion (Scala, Java, Python). Es mas completa que la proporcionada por Hadoop.

Cuales son los principales lenguajes de programacion soportados por SPARK?

- Scala: para poder usar Spark con Scala se tiene que generar un objeto SparkContext.
- Java: Se usa javaSparkContext como libreria.
- Python: se usa con SparkContext.
- R: se necesita cargar el modulo SparkR.
- SQL: se utiliza SparkSQL.

Cuales son los sistemas de ficheros soportados por Spark?

- HDFS
- S3
- Local File System
- Cassandra
- OpenStack File System
- MapR File System

Que es Spark Driver?

Spark Driver es un programa que se ejecuta en el nodo Maestro. Cuida de la declaracion de cualquier operacion de transformacion o accion en un RDD.









No hay comentarios:

Publicar un comentario