<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://oleander.dev</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://oleander.dev/pricing</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://oleander.dev/product</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://oleander.dev/startups</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://oleander.dev/data-lineage-in-production</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/stream</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/sleep-easy</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/privacy</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://oleander.dev/tos</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://oleander.dev/blog</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://oleander.dev/grow</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/ol-validate</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/ol-graph</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/duckdb-lineage</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://oleander.dev/parquet</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://oleander.dev/install.md</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://oleander.dev/blog/the-puck-is-cylindrical</loc>
<lastmod>2026-07-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/anti-vendor-lock-in-warehouse</loc>
<lastmod>2026-04-27T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/sf-311</loc>
<lastmod>2026-03-17T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/spark-iceberg</loc>
<lastmod>2026-02-16T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/i-remain-confuddled</loc>
<lastmod>2026-02-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/lake-is-alive</loc>
<lastmod>2025-10-21T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/oleander-spark</loc>
<lastmod>2025-10-15T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/parquet-viewer</loc>
<lastmod>2025-09-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/simplify-data-observability-with-openlineage</loc>
<lastmod>2024-10-29T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/blog/our-story</loc>
<lastmod>2024-10-28T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/the-basic-building-blocks-of-data-systems</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/introduction-to-apache-iceberg</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/introduction-to-apache-spark</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/apache-iceberg-concept-and-terminology</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/apache-spark-getting-started</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/working-with-apache-iceberg-tables-in-spark</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/apache-spark-concept-and-terminology</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/setting-up-retail-clickstream-table</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/summarizing-clickstream-events-with-spark</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/analyzing-product-funnels-with-aggregations</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/measuring-cart-abandonment-with-joins</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/understanding-join-types-in-spark</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/making-batch-pipelines-retry-safe-with-merge-into</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/improving-query-performance-with-partitioning</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/querying-historical-data-with-time-travel</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/streaming-clickstream-events-into-iceberg</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://oleander.dev/grow/managing-small-files-with-compaction</loc>
<lastmod>2026-07-18T21:47:15.889Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
