<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.naveenpn.com</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/acid-properties</loc>
    <lastmod>2026-05-20T06:24:49.693Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/key-problems-microsoft-fabric-solves</loc>
    <lastmod>2026-03-03T07:26:02.719Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/unity-catalog-vs-hive-metastore</loc>
    <lastmod>2025-07-18T16:55:59.585Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/advanced-python-dependency-injection-with-pydantic-and-fastapi</loc>
    <lastmod>2025-06-25T04:57:16.645Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/building-reactive-python-apps-with-async-generators-and-streams</loc>
    <lastmod>2025-06-25T04:59:26.330Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/zero-downtime-deployments-in-python-with-uvicorn-gunicorn-and-async-fastapi-apis</loc>
    <lastmod>2025-06-25T05:03:59.025Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/implementing-task-queues-in-python-using-celery-and-redis-scalable-background-jobs</loc>
    <lastmod>2025-07-18T14:58:10.691Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/pythons-structlog-modern-structured-logging-for-clean-json-ready-logs</loc>
    <lastmod>2025-07-18T15:02:17.356Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/ultimate-guide-unlocking-pythons-functools-module</loc>
    <lastmod>2025-06-25T05:07:57.925Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/ultimate-guide-to-pythons-pydantic-library</loc>
    <lastmod>2025-07-18T15:04:26.717Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/task-scheduling-and-background-jobs-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T15:35:28.941Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/itertools-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T15:37:18.287Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/descriptors-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T16:29:14.774Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/how-pythons-global-interpreter-lock-gil-affects-multithreading-the-ultimate-guide</loc>
    <lastmod>2025-07-18T16:32:54.804Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/data-classes-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T16:35:08.948Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/type-hints-and-mypy-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T16:36:51.287Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/asynchronous-programming-with-asyncio-in-python-the-ultimate-guide</loc>
    <lastmod>2025-07-18T16:39:00.981Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/context-managers-in-python-a-complete-guide</loc>
    <lastmod>2025-07-18T16:05:55.390Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/generators-in-python-a-complete-guide</loc>
    <lastmod>2025-05-05T09:27:40.853Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/decorators-in-python-a-complete-guide</loc>
    <lastmod>2025-07-18T15:47:22.745Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/logging-in-python-a-comprehensive-guide</loc>
    <lastmod>2025-07-18T15:42:12.177Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/f-strings-in-python-the-ultimate-guide-to-string-formatting</loc>
    <lastmod>2025-05-05T06:34:44.302Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/understanding-pipthe-package-installer-for-python</loc>
    <lastmod>2025-05-05T09:09:28.025Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/best-practices-for-exception-handling-in-java</loc>
    <lastmod>2025-04-15T18:20:52.658Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/understanding-how-an-exception-occurs-internally-in-java</loc>
    <lastmod>2025-04-15T06:32:21.178Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/how-control-plane-and-data-plane-interact-in-databricks</loc>
    <lastmod>2025-04-15T14:34:45.080Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/arrays-class-in-java</loc>
    <lastmod>2025-04-15T06:36:19.753Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/jsx-vs-tsx-whats-the-difference</loc>
    <lastmod>2025-04-15T14:33:37.419Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/types-of-classes-in-java</loc>
    <lastmod>2025-04-15T06:39:52.096Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/how-to-choose-number-of-executors-required-for-our-cluster</loc>
    <lastmod>2025-04-15T15:57:26.265Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/mastering-date-manipulation-in-pyspark</loc>
    <lastmod>2025-04-15T16:02:06.667Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/understanding-insert-overwrite-and-time-travel-in-delta-lake</loc>
    <lastmod>2025-02-14T05:49:56.703Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/main-difference-between-auto-loader-and-copy-into</loc>
    <lastmod>2025-04-15T16:24:31.649Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/complete-guide-to-lombok</loc>
    <lastmod>2025-04-15T07:04:29.950Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/does-modifying-a-dataframe-affect-the-view-in-pyspark</loc>
    <lastmod>2025-04-24T10:11:12.666Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/java-source-file-declaration-rules</loc>
    <lastmod>2025-04-15T08:42:23.756Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/what-is-distributed-data-processing</loc>
    <lastmod>2025-04-15T18:05:05.598Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/introduction-to-rdds-and-their-key-characteristics</loc>
    <lastmod>2025-04-24T04:17:21.445Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/stored-and-materialized-views-in-databricks</loc>
    <lastmod>2025-04-15T17:10:41.249Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/managing-costs-and-latency-with-streaming-workloads-on-azure</loc>
    <lastmod>2025-04-15T17:21:14.179Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/streaming-deduplication-and-quality-enforcement</loc>
    <lastmod>2025-04-15T17:12:04.387Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/delta-lake-best-practices-for-etl-workflows</loc>
    <lastmod>2025-04-15T16:33:30.229Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/the-delta-lake-advantage</loc>
    <lastmod>2025-04-15T16:35:40.728Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/understanding-databricks-cluster-types-choosing-the-right-fit-for-your-workloads</loc>
    <lastmod>2025-04-15T16:38:47.466Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/medallion-architecture-a-modern-approach-to-data-management</loc>
    <lastmod>2025-04-15T16:41:17.560Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/without-unity-catalog-in-databricks</loc>
    <lastmod>2025-04-15T16:44:02.462Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/apache-spark-performance-boost-essential-tips-for-tuning</loc>
    <lastmod>2025-04-15T16:45:57.339Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/techniques-for-efficiently-processing-nested-schemas-with-apache-spark</loc>
    <lastmod>2025-04-24T10:06:49.733Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/repartition-and-coalesce-in-apache-spark</loc>
    <lastmod>2026-02-19T11:22:02.122Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/apache-spark-vs-databricks</loc>
    <lastmod>2025-04-15T16:51:15.855Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/series/programming</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/series/data-engineering</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/series/cloud-computing</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/archive</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.naveenpn.com/recommendations</loc>
    <lastmod>2026-08-18T15:18:42.946Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>