interesante
Conociendo Apache Spark
Todo lo que aprenderás sobre Spark para Big Data
Introducción a Apache Spark
Introducción a los RDDs y DataFrames
Configuración
Instalación del ambiente de trabajo
Jupyter vs CLI: ejecución de Spark desde la lÃnea de comandos
Jupyter vs CLI: ejecución de Spark en Jupyter Notebook
Operaciones RDDs
RDD y DataFrames
Transformaciones y acciones
Acciones de modificación sobre RDDs
Acciones de conteo sobre RDDs
Solución reto deportistas
Operaciones numéricas
Data Frames y SQL
Creación de DataFrames
Inferencia de tipos de datos
Operaciones sobre DF
Agrupaciones y operaciones join sobre DF
Solución reto joins
Funciones de agrupación
SQL
¿Qué es un UDF?
UDF
Persistencia y particionado
Particionado
Comprendiendo la persistencia y particionado
Particionando datos
Conclusiones
Conclusiones
Como se ha descrito en clases pasadas, los RDD son la capa de abstracción primaria para poder interactuar con los datos que viven en nuestro ambiente de Spark. Aunque estos puedan ser enmascarados con un esquema dotándolos de las facultades propias de los DataFrames, la información de fondo sigue operando como RDD.
Por lo tanto, la información, como indica el nombre de los RDD, se maneja de forma distribuida a lo largo del clúster, facilitando las operaciones que se van a ejecutar, ya que segmentos de información pueden encontrarse en diferentes ejecutores reduciendo el tiempo necesario para acceder a la información y poder asà realizar los cálculos necesarios.
Cuando un RDD o Dataframe es creado, según las especificaciones que se indiquen a la aplicación de Spark, creará un esquema de particionado básico, el cual distribuirá los datos a lo largo del clúster. Siendo asà que al momento de ejecutar una acción, esta se ejecutará entre los diversos fragmentos de información que existan para poder asà realizar de la forma más rápida las operaciones. Es por eso que un correcto esquema de particionado es clave para poder tener aplicaciones rápidas y precisas que además consuman pocos recursos de red.
Otra de las tareas fundamentales es la replicación de componentes y sus fragmentos, ya que al aumentar la disponibilidad de estos podremos asegurar una tolerancia a fallos, mientras más se replique un valor es más probable que no se pierda si existe un fallo de red o energÃa, además de permitir una disponibilidad casi inmediata del archivo buscado.
La partición y replicación son elementos que deben ser analizados según el tipo de negocio o requerimientos que se tengan en el desarrollo que se encuentre en progreso, por lo cual la cantidad de datos replicados o granularidad de datos existentes en los fragmentos dependerá en función de las reglas de negocio.
En las siguientes clases profundizaremos en estos conceptos y crearemos un particionado simple de datos con ayuda de las funciones getNumpartitions y glom. ¡Te veo en la siguiente clase!
Aportes 3
Preguntas 0
interesante
Un tema de suma importancia!
Gracias!!!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.