Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Escritura de los Datos Procesados en una Tabla | Trabajando con Datos
Fundamentos de Databricks: Guía Para Principiantes

Escritura de los Datos Procesados en una Tabla

Desliza para mostrar el menú

Note
Definición

La escritura de datos es el proceso de mover un DataFrame desde la memoria temporal del clúster hacia un almacenamiento permanente en el Catálogo. Al utilizar el método saveAsTable(), se garantiza que los resultados limpiados y agregados se conserven y sean accesibles para otros usuarios y herramientas.

Todo lo realizado hasta ahora ha sido "en memoria". Si se apagara el clúster en este momento, los DataFrames transformados desaparecerían. Para hacer que el trabajo sea permanente, es necesario escribir los datos de vuelta en el Lakehouse. En Databricks, la forma estándar de hacerlo es guardando el DataFrame como una Delta Table.

Sintaxis de saveAsTable()

Para guardar el trabajo, se encadena el método write al DataFrame. El enfoque más directo es:

# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
  • write: accede a la interfaz de escritura de DataFrame;
  • mode("overwrite"): indica a Databricks qué hacer si ya existe una tabla con ese nombre. "Overwrite" reemplaza los datos antiguos por los nuevos. Otras opciones incluyen "append" (para agregar nuevas filas al final de la tabla existente);
  • saveAsTable: especifica el nombre de tres partes (catalog.schema.table) donde se almacenarán los datos.

Delta Lake: El formato predeterminado

Cuando se utiliza saveAsTable, Databricks guarda automáticamente los datos en formato Delta. Como se explicó en la Sección 1, Delta Lake proporciona confiabilidad. Garantiza que, incluso si el clúster falla en medio de una operación de "escritura", la tabla no se corromperá. También permite "Time Travel", lo que significa que se pueden consultar versiones anteriores de la tabla en caso de cometer un error.

Verificación de la escritura en el Catálogo

Una vez que el comando haya finalizado, se debe verificar que los datos se hayan almacenado correctamente:

  • Navegar a la pestaña Catálogo en la barra lateral izquierda;
  • Profundizar en el catálogo main y el esquema default;
  • Buscar el nombre de la nueva tabla (por ejemplo, regional_summary);
  • Se puede hacer clic en la tabla para ver su esquema, datos de muestra y metadatos, como la fecha de creación y el autor.

Lectura de la tabla guardada

Una vez que una tabla está en el Catálogo, cualquier usuario autorizado puede acceder a ella sin necesidad de tu notebook. Simplemente puede ejecutar una consulta SQL o utilizar spark.table() para cargarla en su propio entorno:

# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")

Mejor práctica: limpieza

Después de guardar los resultados finales en una tabla permanente, es una práctica profesional terminar tu clúster o al menos "Borrar estado". Dado que tus datos ahora están almacenados de forma segura en el Catálogo, ya no es necesario mantener los DataFrames temporales ocupando espacio en la RAM del clúster.

1. ¿Qué "mode" deberías usar si deseas reemplazar una tabla existente con datos completamente nuevos de tu DataFrame?

2. ¿Cuál es el principal beneficio de guardar un DataFrame usando saveAsTable()?

question mark

¿Qué "mode" deberías usar si deseas reemplazar una tabla existente con datos completamente nuevos de tu DataFrame?

Selecciona la respuesta correcta

question mark

¿Cuál es el principal beneficio de guardar un DataFrame usando saveAsTable()?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 8

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 8
some-alt