Contenido del curso
Administración y Gestion de la Plataforma de Databricks
- 5

Creación y Configuración de Clúster en Databricks
07:02 min - 6

Gestión de Datos y Notebooks en Databricks File System
11:25 min - 7

Transformaciones y Acciones en Apache Spark
03:42 min - 8

Qué son los RDDs en Apache Spark
02:30 min - 9

Creación y Transformaciones de RDDs en Databricks
Viendo ahora - 10

Ações em RDDs que todo iniciante precisa saber
05:33 min - 11

Lectura de Datos en Apache Spark con Databricks
09:36 min - 12

Spark UI en Databricks: qué muestra cada sección
04:23 min - 13

Cómo instalar librerías en Databricks
08:30 min - 14

Alternativas para Trabajar con Apache Spark: Local vs. Nube
03:42 min
Apache Spark SQL y UDF
Implementacion de un Delta Lake en Databricks
- 19

Arquitecturas Data Lake y Delta Lake en Big Data
05:24 min - 20

Delta Lake: Almacenamiento y Gestión de Datos en Big Data
01:32 min - 21

Arquitectura Medallion en Data Lake House: Capas Bronze, Silver y Gold
03:41 min - 22

Comandos Esenciales para Databricks File System (DBFS)
00:34 min - 23

Implementación de arquitectura Delta Lake en Databricks
06:38 min - 24

Capa gold en Delta Lake con Databricks
05:26 min - 25

Qué aprendiste y qué sigue en Databricks
02:14 min
Creación y Transformaciones de RDDs en Databricks
Resumen
Dominar la creación y transformación de RDDs (Resilient Distributed Datasets) es el primer paso para trabajar con Apache Spark de forma efectiva. A continuación se explican las formas prácticas de construir estos objetos distribuidos e inmutables, y se recorren las transformaciones más utilizadas dentro de la plataforma Databricks.
¿Cómo preparar el entorno en Databricks para trabajar con RDDs?
Antes de escribir código, es necesario tener el clúster activo y dirigirse a la sección de Workspace [0:08]. Desde allí se puede importar un notebook usando el botón de importación, ya sea arrastrando un archivo o pegando una URL, por ejemplo de un repositorio en GitHub [0:38]. Los formatos compatibles incluyen .dbc, .scala, .py, .sql, .r, .ipynb, .rmd, .html y .zip [0:55]. Una vez importado el notebook, hay que atachar el clúster en la sección de conexión para poder ejecutar el código [2:00].
Dos conceptos fundamentales aparecen al iniciar: el SparkSession, que es el punto de entrada principal para trabajar con Spark, y el SparkContext, que permite interactuar directamente con el clúster [2:12]. Existen dos formas de crear la sesión: una forma larga, donde se importa SparkSession desde PySpark y se configuran parámetros como el master y el nombre de la aplicación con getOrCreate [2:40]; y una forma corta que utiliza todos los valores por default [3:12]. Dentro de Databricks no es necesario crear ni la sesión ni el contexto, porque la plataforma ya los tiene preconfigurados como parte de su administración del clúster [3:24].
¿Cuáles son las formas de crear un RDD en Spark?
Los RDD son objetos inmutables, distribuidos y tolerantes a fallos, la unidad fundamental con la que trabaja Apache Spark [4:05].
- RDD vacío: se utiliza la forma
emptyRDDpara generar un RDD sin datos [4:14]. - RDD con particiones definidas: mediante la función parallelize se puede crear un RDD indicando el número de particiones, por ejemplo tres [4:22]. Esta función sirve para convertir una colección local en un objeto distribuido que puede ejecutarse en paralelo.
- Verificar particiones: la función
getNumPartitionsdevuelve la cantidad de particiones que tiene un RDD [4:52].
También se puede partir de una lista de Python, por ejemplo [1, 2, 3, 4, 5], y aplicarle parallelize para obtener un RDD con todas las características necesarias para Spark [5:08]. Si no se define un número de particiones, Spark lo asigna automáticamente y puede variar entre ejecuciones [5:48].
Para visualizar el contenido de cualquier RDD se usa la acción collect, que recoge los resultados y los muestra [4:40].
¿Qué transformaciones se pueden aplicar a los RDDs?
Las transformaciones modifican un RDD y devuelven siempre un nuevo objeto, ya que los RDDs son inmutables. Además, son de tipo lazy (perezosas): no se ejecutan hasta que una acción como collect las dispara [6:10].
¿Cómo funciona la transformación map?
La función map aplica una operación a cada elemento del RDD [6:30]. En el ejemplo, se usa una función lambda que multiplica cada valor por dos: si el RDD contiene [1, 2, 3, 4, 5], el resultado será [2, 4, 6, 8, 10] [6:44].
¿Cómo filtrar y obtener elementos únicos?
- filter: permite quedarse solo con los elementos que cumplen una condición [7:28]. Por ejemplo, para obtener los números pares se evalúa si el resto de dividir por dos es cero. Del RDD
[1, 2, 3, 4, 5]se obtiene[2, 4][7:58]. - distinct: retorna únicamente los valores no repetidos del RDD [8:14]. Si existen duplicados como el once o el cinco,
distinctlos presenta una sola vez.
¿Qué hacen reduceByKey y sortByKey?
- reduceByKey: trabaja con pares clave-valor y agrega los valores según la clave [8:44]. Si se tienen pares como
(A,3), (B,2), (C,4), (A,3), (B,2), (C,2), la función suma los valores por clave y produce(A,6), (B,4), (C,6)[9:20]. - sortByKey: ordena el RDD por la clave de forma ascendente por defecto [10:08]. Para invertir el orden se añade el parámetro
ascending=False, obteniendo un ordenamiento descendente [10:38].
Existen otras transformaciones adicionales como sample, groupByKey o flatMap que amplían las posibilidades de manipulación de datos [10:58].
Si ya replicaste estos ejemplos en tu entorno, comparte en los comentarios qué transformación te resultó más útil o qué caso de uso estás explorando con RDDs.