File formats
Formatos reutilizables e inline para CSV, JSON, Parquet y otros; delimitadores, compresion, parseo y conversiones.
Conceptos que debes poder reconocer y distinguir:
- CSV
- JSON
- Parquet
- Avro, ORC y XML
- Named e inline file formats
- Compresion y delimitadores
- Null, escape y parseo
Usa los enlaces oficiales de Snowflake de esta unidad para ampliar cada concepto y contrastar su comportamiento.
Un file format encapsula reglas de lectura o escritura. Puede declararse en linea en COPY o como objeto nombrado reutilizable. El stage indica donde estan los archivos; el file format explica como debe parsearlos Snowflake.
Eleccion por formato
| Formato | Caso natural | Punto de atencion |
|---|---|---|
| CSV | Intercambio tabular sencillo | Delimitador, enclosure, escapes, cabecera y valores NULL cambian el resultado |
| JSON | Eventos y datos semiestructurados | STRIP_OUTER_ARRAY y STRIP_NULL_VALUES afectan a filas y semantica |
| Parquet / Avro / ORC | Datos columnar o tipados | Conservan estructura mejor; no todas las copy options aplican igual |
| XML | Documentos XML | Se representa como datos semiestructurados y requiere funciones especificas |
Reglas de lectura seguras
- Usa un file format nombrado si la definicion debe reutilizarse y gobernarse; requiere USAGE sobre el objeto.
- SKIP_HEADER omite filas fisicas; no debe confundirse con mapeo por nombre de columna.
- Una cadena vacia no siempre equivale a NULL: define NULL_IF y EMPTY_FIELD_AS_NULL de forma consciente.
- La compresion puede autodetectarse para ciertos formatos, pero valida soporte y controla COMPRESSION al descargar.
- Divide archivos para paralelismo sin generar miles de archivos diminutos que introducen overhead.