<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://datadriven.io/concepts/idempotent</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/concepts-idempotent/idempotent-vs-deterministic-lg-light.e6fb98e7e8.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/concepts-idempotent/retry-duplicate-rows-lg-light.a6f81d6268.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/concepts-idempotent/spark-static-vs-dynamic-overwrite-lg-light.1a23e01d9c.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-engineer-resume</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-resume/resume-bullet-anatomy-lg-light.287a0e52c5.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-resume/resume-claims-interview-rounds-lg-light.62e7e64d02.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-engineer-roadmap</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-roadmap/rerun-insert-vs-overwrite-lg-light.7fa847286b.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-roadmap/roadmap-length-by-background-lg-light.ef96993099.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-engineer-take-home-examples</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-take-home-examples/refund-attribution-daily-revenue-lg-light.43c0f33097.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-take-home-examples/take-home-time-plan-lg-light.82a011bbe3.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-engineer-vs-backend-engineer</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-vs-backend-engineer/backend-data-handoff-lg-light.ff62f6fe6d.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-engineer-vs-backend-engineer/latency-vs-freshness-lg-light.1ed62b6f82.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-mesh</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-mesh/central-team-vs-data-mesh-lg-light.c0c609d8d9.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-mesh/data-product-anatomy-lg-light.4988f53b9b.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-modeling-projects</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-projects/fact-types-lg-light.503d8f1deb.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-projects/scd2-as-of-lg-light.1774b8eff9.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-modeling/fact-vs-dimension</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-fact-vs-dimension/fact-table-row-growth-lg-light.a57cbb1ca0.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-fact-vs-dimension/fact-table-types-lg-light.dc4c4b8bea.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-fact-vs-dimension/surrogate-key-history-lg-light.f19c231fc6.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-modeling/scd-type-2</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-scd-type-2/scd-type-2-versions-lg-light.56d14d1a36.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-scd-type-2/scd-validity-overlap-gap-lg-light.11d326cd4d.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-modeling/snowflake-schema</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-snowflake-schema/snowflake-storage-savings-lg-light.d55fc757e7.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-modeling-snowflake-schema/star-vs-snowflake-joins-lg-light.654d46b0a8.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/data-observability</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-observability/downtime-lever-lg-light.1e5c833650.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-observability/freshness-sla-lg-light.c09b899556.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/data-observability/incident-root-cause-lg-light.d6afa69c2e.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/dbt-vs-airflow</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/dbt-vs-airflow/dbt-inside-airflow-lg-light.43af0847f7.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/dbt-vs-airflow/retry-granularity-lg-light.dba8f7b107.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/junior-data-engineer-interview</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/junior-data-engineer-interview/row-number-vs-rank-lg-light.a5b08117c1.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/junior-data-engineer-interview/sql-round-pacing-lg-light.cdeb4d2e77.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/pipeline-architecture-projects</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/pipeline-architecture-projects/idempotent-rerun-lg-light.478ef9c561.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/pyspark-projects</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/pyspark-projects/skewed-partition-lg-light.69c4b1fd4e.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/pyspark-projects/watermark-lg-light.60ed43ce03.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/python-projects</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/python-projects/crawl-concurrency-lg-light.ea731a7d58.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/python-projects/pagination-drift-lg-light.506301714a.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/sql-projects</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/sql-projects/idempotent-rerun-lg-light.46de2633b2.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/sql-projects/scd2-versions-lg-light.2854680203.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/sql-projects/session-gap-lg-light.9925aeeb57.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/tools/airflow-dag</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/tools-airflow-dag/catchup-runs-lg-light.12a2138a58.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/tools-airflow-dag/sensor-slots-lg-light.1784e67992.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/tools-airflow-dag/trigger-rules-lg-light.2ea5b9fdf5.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/tools/pyspark-coding-practice</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/tools-pyspark-coding-practice/shuffle-stages-lg-light.7fe1d607ff.webp</image:loc></image:image>
<image:image><image:loc>https://datadriven.io/seo-visuals/tools-pyspark-coding-practice/skewed-partition-lg-light.97e5d2d4d2.webp</image:loc></image:image>
</url>
<url>
<loc>https://datadriven.io/vs/stratascratch</loc>
<image:image><image:loc>https://datadriven.io/seo-visuals/vs-stratascratch/scd-type-2-join-keys-lg-light.63a3dc884b.webp</image:loc></image:image>
</url>
</urlset>
