Skip to main content
Parsing turns the raw file into a typed table. It has four parts:

Parser

The parser object selects a reader (type) and configures it.

Common options

CSV options

encoding (e.g. utf-8, iso-8859-1), delimiter (,, ;, \t, |…), has_header.

Excel options

sheet_names (array, or null for all sheets), plus section_context for files where data is grouped under section headers:
Each recognized section header value is carried onto the rows beneath it, into the named output column.

SAV options (Polaris)

sql_filename (path to the SQL dump inside the archive, e.g. 0-full.sql), tables (table names to extract), extract_media (pull binary assets).

Column mapping

mapping.columns maps each source column to a target field and a Spark SQL type:
type is any Spark SQL type (it’s a free-form string, not a fixed enum). Common values: STRING, INT, LONG, DOUBLE, TIMESTAMP.

Extra fields

Unmapped columns are handled by extra_fields.mode:

Validation

Guard rails applied after parsing:
  • required_columns — must be present and non-null.
  • min_rows — minimum row count.
Parsed columns then flow into the promotion pipeline, where they’re transformed and written to silver/gold.