Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 2 de 5
CSV, JSON, Parquet, Avro, ORC y binary
Formato y compresión afectan esquema, pushdown, tamaño y coste.
- Duración
- 17 min aprox.
- Objetivo
- Formato y compresión afectan esquema, pushdown, tamaño y coste.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Ingesta batch, formatos, COPY INTO, JDBC y REST
Elige una vía de entrada reproducible para archivos, bases de datos y APIs.
- Comparar cargas completas e incrementales
- Usar COPY INTO de forma idempotente
- Controlar formatos, compresión y metadatos de origen
02ImplementaciónCSV, JSON, Parquet, Avro, ORC y binary
Formato y compresión afectan esquema, pushdown, tamaño y coste.
+
CSV, JSON, Parquet, Avro, ORC y binary
Formato y compresión afectan esquema, pushdown, tamaño y coste.
Parquet y Delta son columnares; JSON/CSV requieren parseo y contratos; XML, text y binary cubren fuentes no tabulares.
Bronze puede conservar payload y metadatos, pero debe fijar encoding, delimitador y tratamiento de registros corruptos.
Modelo mental
El formato determina qué información estructural puede usar el motor antes de leer cada valor. CSV es texto sin tipos embebidos y exige delimitador, escape, locale y esquema externo. JSON conserva jerarquía, pero su verbosidad y variabilidad complican análisis masivo. Parquet es columnar, tipado y comprimido; permite poda de columnas y pushdown de filtros según metadatos. Delta usa Parquet para datos y añade transaction log, versiones y DML. La compresión reduce bytes a costa de CPU con algoritmos distintos. Elegir no es solo comparar tamaño: se valora interoperabilidad, evolución, patrones de lectura, calidad y necesidad de transacciones.
Organización física que almacena valores de una misma columna juntos y conserva metadatos por grupos.
Favorece poda, compresión y análisis de subconjuntos de columnas.Aplicación de filtros en el lector para evitar materializar datos que no pueden cumplirlos.
Reduce I/O cuando el formato y la expresión lo permiten.Algoritmo que comprime y descomprime bloques de datos con trade-offs de tamaño y CPU.
Afecta coste de storage, red y tiempo de proceso.raw = (spark.read.schema(order_schema)
.option("mode", "PERMISSIVE")
.json("/Volumes/main/landing/orders/incoming"))Mide la columna de registros corruptos si la configuras.
Puntos clave
- Parquet es columnar
- Delta añade transacciones
- Semiestructurado exige esquema
Evita
- Inferir CSV en cada run
- Confundir Parquet con Delta
Recuerdo activo