<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Best practices for data quality in lakeflow in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167121#M55645</link>
    <description>&lt;P&gt;I’d use expectations in both Bronze and Silver, but for different purposes. Bronze should stay close to the raw source, so I’d use lightweight checks there to detect obvious ingestion/schema problems without aggressively cleaning the data. The heavier business and domain rules usually make more sense at the Bronze-to-Silver boundary, where invalid records can be dropped, quarantined, or cause the update to fail depending on their severity. Databricks also describes this boundary as a common place for quality gates.&lt;/P&gt;&lt;P&gt;For example, Bronze could check things like required fields and valid data types, while Silver could enforce business rules such as valid ranges, uniqueness, referential consistency, and domain-specific constraints. Lakeflow expectations support warn, drop, and fail behaviors, so you can choose the appropriate action per rule.&lt;/P&gt;&lt;P&gt;I’d also avoid duplicating every expectation across every layer. Keep the rules closest to where they provide the most value and use the pipeline event log to monitor failures and trends. That gives you a cleaner pipeline without sacrificing data quality. pbskidsgames.us.com can be a quick break after debugging the pipeline.&lt;/P&gt;</description>
    <pubDate>Tue, 01 Sep 2026 11:13:56 GMT</pubDate>
    <dc:creator>JamesBennett</dc:creator>
    <dc:date>2026-09-01T11:13:56Z</dc:date>
    <item>
      <title>Best practices for data quality in lakeflow</title>
      <link>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167120#M55644</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;What are the recommended best practices for implementing data quality checks in Lake flow Spark Declarative Pipelines?&lt;/P&gt;&lt;P&gt;Should data quality expectations be applied mainly in the Bronze layer, Silver layer, or both?&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 10:56:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167120#M55644</guid>
      <dc:creator>gowri_databrick</dc:creator>
      <dc:date>2026-09-01T10:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for data quality in lakeflow</title>
      <link>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167121#M55645</link>
      <description>&lt;P&gt;I’d use expectations in both Bronze and Silver, but for different purposes. Bronze should stay close to the raw source, so I’d use lightweight checks there to detect obvious ingestion/schema problems without aggressively cleaning the data. The heavier business and domain rules usually make more sense at the Bronze-to-Silver boundary, where invalid records can be dropped, quarantined, or cause the update to fail depending on their severity. Databricks also describes this boundary as a common place for quality gates.&lt;/P&gt;&lt;P&gt;For example, Bronze could check things like required fields and valid data types, while Silver could enforce business rules such as valid ranges, uniqueness, referential consistency, and domain-specific constraints. Lakeflow expectations support warn, drop, and fail behaviors, so you can choose the appropriate action per rule.&lt;/P&gt;&lt;P&gt;I’d also avoid duplicating every expectation across every layer. Keep the rules closest to where they provide the most value and use the pipeline event log to monitor failures and trends. That gives you a cleaner pipeline without sacrificing data quality. pbskidsgames.us.com can be a quick break after debugging the pipeline.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 11:13:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167121#M55645</guid>
      <dc:creator>JamesBennett</dc:creator>
      <dc:date>2026-09-01T11:13:56Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for data quality in lakeflow</title>
      <link>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167123#M55646</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/250070"&gt;@gowri_databrick&lt;/a&gt;&amp;nbsp;You can adopt a tiered data quality strategy where the Silver layer handles the bulk of the DQ expectations enforcement while Bronze remains raw and unconstrained and Gold stays focused on reporting logic.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Bronze Layer - Raw Ingestion and Auditability&lt;/STRONG&gt;&lt;BR /&gt;Keep Bronze as an immutable, append only zone. You can avoid filtering or dropping records in it. You can add the incoming data with technical metadata such as _ingested_at and _metadata.file_path for auditing and debugging. Apply expectations only if an issue would cause a pipeline-critical failure, using ON VIOLATION FAIL UPDATE for mandatory system level fields. Preserving raw data ensures you can always replay or reprocess historical records if downstream rules change.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Silver Layer Primary Data Quality Enforcement&lt;/STRONG&gt;&lt;BR /&gt;You can do the primary data quality and cleansing as a centralized DQ. You can do type casting, standardization, deduplication and enforcing domain specific business rules. You can Use CONSTRAINT ON VIOLATION DROP ROW to filter out malformed or untrusted records and use ON VIOLATION FAIL UPDATE when critical business rules fails. Enforcing quality rules in Silver ensures all downstream consumers query clean, trusted and standardized datasets without duplicating validation logic across pipelines.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Gold Layer Aggregation and Business Metrics&lt;/STRONG&gt;&lt;BR /&gt;You can keep minimal expectations in Gold layer as Silver already has cleansed data. Avoid re-validating individual row-level schemas here. You can restrict checks to aggregation specific constraints, dimensional integrity such as key uniqueness and reporting threshold validations before data is exposed to BI tools.&lt;/P&gt;&lt;P&gt;Bronze ensures total replayability and auditability, Silver provides a single source of truth for validation rules, Gold remains performant and simple. Data lineage makes it straightforward to trace exactly where and why records were filtered.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 11:48:33 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/best-practices-for-data-quality-in-lakeflow/m-p/167123#M55646</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-09-01T11:48:33Z</dc:date>
    </item>
  </channel>
</rss>

