Skip to content

Column Content Conditions

A Column Content condition matches the dominant data format detected in a column’s sampled values (a sampled subset; see Sampling), useful for distinguishing columns that hold structured documents, archives, images, or encoded payloads from columns that hold plain values, such as classifying a column only when it contains JSON, PDF, or PNG content.

  • Content format(s)content_format (a single format) or content_formats (a list to match any of several). See the supported formats below.
  • Match Threshold — the share of the column’s non-null sampled values a single dominant format must account for, shown as a percentage in the UI (defaults to 80%) and stored as a fraction from 0.0-1.0 in the API/JSON (dominance_threshold, default 0.8). The condition passes only when that dominant format is also one of the selected formats. Because the threshold tests for a dominant format, a column split evenly between two formats may not pass at the default threshold even if one of them is selected.

Supported formats:

  • Text / structured: JSON, XML, HTML, YAML, CSV, Base64, Plain text
  • Documents: PDF, DOCX, XLSX, PPTX, Legacy MS Office, RTF
  • Archives: ZIP, GZIP
  • Images: PNG, JPEG, GIF, TIFF
  • Columnar: Parquet

This condition matches a column whose sampled values are dominantly JSON or XML:

{ "target": "CONTENT_TYPE", "content_formats": ["JSON", "XML"], "dominance_threshold": 0.8 }

Format detection runs on the raw sampled values, so binary signatures are preserved. Empty and all-null columns are handled without error.

Column Content evaluates on Snowflake ALTR Native jobs using ALTR Hosted processing, on OLTP jobs, and on Databricks jobs with a collection attached (the ALTR Native option). It doesn’t evaluate on Snowflake In-Warehouse jobs. Content detection requires ALTR Hosted processing, the same constraint as Google DLP. See Classification Processing Location for the full picture.