Cargar Datos Desde un Archivo en un DataFrame
Desliza para mostrar el menú
El objeto spark.read es el punto de entrada para leer datos externos en un DataFrame de Spark. Admite varios formatos de archivo, incluidos CSV, JSON, Parquet y Delta, y permite definir cómo Spark debe interpretar los archivos.
En la Sección 2, subiste un archivo CSV al entorno de Databricks. Ahora, aprenderás cómo "levantar" ese archivo desde el almacenamiento y llevarlo a la memoria del clúster como un DataFrame utilizando Python. Este es el primer paso en casi todas las canalizaciones de ingeniería de datos.
Sintaxis de spark.read
Para cargar un archivo, utilizamos una cadena específica de comandos. La estructura básica es la siguiente:
df = spark.read.format("csv").option("header", "true").load("path/to/file")
- format: indica a Spark el tipo de archivo (csv, json, parquet);
- option("header", "true"): indica a Spark que use la primera fila del archivo como nombres de columna;
- load: la ubicación específica del archivo dentro de Databricks.
Inferencia del esquema
De forma predeterminada, Spark asume que cada columna en un archivo CSV es una cadena de texto. Para que los datos sean más útiles, se agrega otra opción: .option("inferSchema", "true"). Cuando esta opción está habilitada, Spark analiza rápidamente los datos e identifica automáticamente qué columnas son enteros, decimales o booleanos. Esto evita la necesidad de definir manualmente los tipos de datos.
Ubicación de la ruta del archivo
Para leer un archivo, necesitas su ruta. En la pestaña Catálogo o Espacio de trabajo, puedes localizar tu archivo cargado, hacer clic en los tres puntos (elipsis) junto a él y seleccionar "Copiar ruta". En Databricks moderno, si cargaste el archivo mediante la interfaz de Ingesta de Datos como hicimos en el Capítulo 2.6, los datos ya están guardados como una tabla, la cual podemos leer usando:
df = spark.read.table("main.default.sample_sales_records")
Sin embargo, si estás leyendo el archivo original directamente desde un Volumen, deberías usar la ruta del archivo:
df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")
Verificación de la carga
Después de ejecutar el comando de carga, es una buena práctica verificar los datos. Se debe seguir inmediatamente el comando de lectura con: display(df)
Esto confirma que los datos se han cargado correctamente en la memoria del clúster, que los encabezados están en el lugar correcto y que los tipos de datos parecen precisos. En esta etapa, los datos se encuentran en un objeto temporal llamado df, y están listos para comenzar a transformarse.
1. ¿Por qué se debe usar la configuración .option("inferSchema", "true") al leer un archivo CSV?
2. ¿Qué comando se utiliza para traer una tabla existente del Catálogo a un DataFrame de Python?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla