<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://datatalks.ru/pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/01-what-is-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/02-cluster-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/03-spark-vs-hadoop-mapreduce/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/04-rdd_dataframe_dataset/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/05-transformations-vs-actions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/06-narrow-vs-wide-transformations/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/07-sparksession/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/08-spark-submit/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/09-local-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-foundation/10-glossary/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/01-introduction-to-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/02-setting-up-spark-session/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/03-reading-writing-files/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/04-reading-csv-files/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/05-reading-json-files/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/06-referring-to-columns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/07-selecting-columns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/08-filtering-data/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/09-grouping-data/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/10-joining-data/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/11-pivoting-data/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/12-handling-nulls/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/13-date-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/14-math-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/15-string-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/16-window-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/17-window-functions-lead-lag/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/00-1-introduction/18-window-functions-rows-between/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/01-dag-scheduler/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/02-stage-boundary/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/03-task-scheduling/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/04-catalyst-optimizer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/05-rule-based-optimization/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/06-cost-based-optimizer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/07-tungsten/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/08-unified-memory-model/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/09-spill-to-disk/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/10-gc-pressure/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/11-py4j-python-workers/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/12-data-locality/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/13-startup-lifecycle/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/14-speculative-execution/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/01-spark-internals/15-spark-connect/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/01-dataframe-api/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/02-aggregations/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/03-window-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/04-window-functions-advanced/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/06-string-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/07-datetime-functions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/08-conditional-columns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/09-sample/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/10-complex-types/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/11-structtype/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/12-udf/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/13-pandas-udf/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/14-join-strategies/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/15-data-formats/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/16-read-options/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/17-actions-in-depth/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/18-testing-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/19-pandas-on-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/02-pyspark-api/20-dataframe-wrangling/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/01-explain-formatted/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/02-analytical-queries/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/03-lateral-view-and-explode/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/04-pivot/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/05-json/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/06-semi-structured-data/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/07-catalog-api/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/08-views-and-temp-views/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/09-hive-metastore/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/10-ansi-mode/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/03-spark-sql/11-spark-config/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/01-shuffle-partitions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/02-aqe/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/03-aqe/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/04-dynamic-partition-pruning/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/05-bucketing/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/06-storage-partitioning/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/07-small-files-disease/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/08-compaction/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/04-partitioning/09-data-layout/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/01-s3a-connector/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/02-rename-problem/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/03-committer-algorithms/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/04-parquet-on-s3/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/05-predicate-pushdown-object-storage/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/06-small-files-s3/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/07-compaction-strategies/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/08-minio/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/09-boto3/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/10-localstack-and-testcontainers/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/05-s3-storage/11-comparing-solutions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/01-hdfs-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/02-namenode-ha/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/03-block-locality/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/04-short-circuit-reads/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/05-erasure-coding/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/06-small-files-hdfs/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/07-hdfs-cli/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/08-hdfs-vs-s3/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/09-hive-metastore/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/10-managed-vs-external-tables/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/11-dynamic-partition-overwrite/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/12-file-formats-hdfs/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/06-hdfs/13-hive-ddl/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/01-diagnostics/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/02-skew-detection/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/03-aqe/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/04-aqe-skew-join/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/05-data-skew/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/06-executor-sizing/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/07-memory-fractions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/08-broadcast-join/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/09-sort-merge-join-vs-shuffle-hash/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/10-kryoserializer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/11-mappartitions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/12-bloom-filter-join-dataset-vs-rdd/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/13-caching/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/14-join-strategies-complete/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/15-hardware-memory-tuning/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/07-optimization/16-runtime-filtering/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/01-spark-ui/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/02-spark-ui/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/03-spark-ui/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/04-spark-ui/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/05-history-server/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/06-spark-metrics-system/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/07-jmx-prometheus/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/08-grafana-dashboard/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/09-sparkmeasure/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/10-alerts/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/08-monitoring/11-profiling-stack-traces/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/01-medallion-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/02-idempotency/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/03-schema-evolution/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/04-deduplication/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/05-anti-join-dedup/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/06-hash-key-composite-pk/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/07-bloom-filter-spark-sql/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/08-airflow-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/09-dag-design/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/10-testing-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/11-testing/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/12-quality-gates/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/13-dead-letter-queue/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/14-observability/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/09-batch-streaming/15-scd-type2/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/01-apache-iceberg/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/02-iceberg-snapshot-model/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/03-manifest-files-and-manifest-list/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/04-hidden-partitioning/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/05-partition-evolution/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/06-copy-on-write/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/07-merge-on-read/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/08-merge-into/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/09-time-travel/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/10-table-maintenance/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/11-delta-lake/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/12-delta-lake/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/10-iceberg-delta-hudi/13-format-selection/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/01-jdbc-connector/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/02-parallel-jdbc-read/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/03-predicates/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/04-connection-pool/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/05-write-modes/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/06-postgresql-wal/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/07-debezium-cdc/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/11-postgresql/08-cdc-events/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/01-clickhouse-mergetree/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/02-order-by-sparse-index/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/03-replacingmergetree/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/04-aggregatingmergetree/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/05-ttl/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/06-projection/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/07-spark-clickhouse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/12-clickhouse/08-partitioning-clickhouse-vs-iceberg/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/01-kafka-internals/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/02-log-segment-lifecycle/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/03-log-compaction/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/04-structured-streaming/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/05-kafka-source/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/06-output-modes/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/07-checkpointing/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/08-watermarks/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/09-stateful-operations/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/10-stateful-deduplication/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/11-kafka-sink/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/13-kafka-streaming/12-rocksdb-state-store/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/01-dbt-core/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/02-dbt-spark-adapter/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/03-dbt-iceberg/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/04-dbt-incremental-models/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/05-dbt-macros-for-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/06-dbt-tests-and-source-freshness/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/07-dbt-airflow/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/14-dbt-spark/08-dbt-vs-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/01-polars/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/02-polars/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/03-polars/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/04-polars-vs-pandas/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/05-duckdb/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/06-duckdb-iceberg/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/15-polars-duckdb/07-tool-selection/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/01-great-expectations/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/02-great-expectations/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/03-soda-core/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/04-schema-contracts/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/05-reconciliation/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/06-openlineage/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/07-openlineage-airflow-dbt/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/16-data-quality/08-data-catalog/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/01-mlflow-tracking/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/02-mlflow-autologging/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/03-custom-metrics-and-artifacts/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/04-mlflow-model-registry/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/05-cicd-for-models/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/06-spark-for-feature-engineering/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/07-batch-inference/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/17-mlflow-mlops/08-feature-store-patterns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/01-spark-on-kubernetes/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/02-driver-and-executor-pods/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/03-python-dependencies/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/04-docker-image-for-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/05-hive-metastore/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/06-iceberg-rest-catalog/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/07-project-nessie/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/08-service-accounts-and-secrets/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/09-network-policies/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/10-history-server-on-k8s/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/11-yarn/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/12-cicd-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/18-self-host-platform/13-cicd-for-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/01-project-batch-lakehouse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/02-project-airflow-dag/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/03-project-cdc-pipeline/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/04-project-optimization-lab/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/05-project-production-runbook/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/19-capstone-projects/06-architecture-review/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/01-jvm-problem/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/02-simd-and-vector-registers/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/03-apache-arrow/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/04-pandas-udf-with-arrow/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/05-spark-plugin-api/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/06-photon/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/07-apache-datafusion-comet/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/08-comet/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/09-gluten-velox/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/10-rapids-cudf/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/11-rapids/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/12-serverless-spark-on-k8s/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/13-ray-raydp/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/14-engine-selection/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/20-native-engines/15-sail-rust-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/01-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/02-performance/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/03-dataframe-sql/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/04-python-advanced/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/05-scenarios/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/06-storage-iceberg/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/07-kafka-streaming-monitoring/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/08-pyspark-practice-questions/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/21-interview-prep/09-pyspark-exercises-101/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/01-collect-driver-oom/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/02-explode-misuse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/03-repartition-abuse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/04-caching-antipatterns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/05-udf-pitfalls/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/06-shuffle-explosion/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/07-schema-antipatterns/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/22-antipatterns/08-cartesian-bnlj/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/01-schema-first-prompting/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/02-dev-guides-and-system-prompt/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/03-ai-readable-repository/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/04-iterative-prompting-for-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/05-ai-assisted-testing/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/06-ai-for-refactoring/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/23-ai-assisted-pyspark/07-llm-danger-zones-in-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/01-what-is-opencode/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/02-environment-setup/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/03-agent-context/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/04-custom-skills-for-de/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/05-custom-skills-for-de-part2/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/06-mcp-ecosystem-for-de/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/07-agentic-feature-workflow/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/08-autonomous-code-review-workflow/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/09-production-agentic-stack/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/24-opencode-agentic/10-de-agent-skills-library/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/01-medallion-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/02-bronze-layer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/03-silver-layer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/04-gold-layer/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/05-dimensional-modeling/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/06-scd/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/07-data-vault-20-on-spark/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/08-data-vault-medallion/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/09-constraints-and-duplicates-lakehouse/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/10-event-driven-modeling/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/11-lambda-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/12-kappa-architecture/</loc></url>
  <url><loc>https://datatalks.ru/pyspark/modules/25-data-modeling/13-lambda-vs-kappa/</loc></url>
</urlset>
