Spark на Kubernetes на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Spark on k8s архитектура
Driver — pod. Каждый executor — pod.
spark-submit ... → API server создаёт driver pod → driver launches executor pods.Service discovery через k8s DNS / services.
С Spark 3.1+ — production-ready.
spark-submit
spark-submit \
--master k8s://https://kubernetes:443 \
--deploy-mode cluster \
--name spark-job \
--conf spark.executor.instances=10 \
--conf spark.kubernetes.container.image=spark:3.5 \
--conf spark.kubernetes.namespace=spark \
app.jarDriver запускается в k8s namespace. Executors auto-spawned.
Dynamic allocation
Auto scale executors based на load.
spark.dynamicAllocation.enabled=true
spark.dynamicAllocation.minExecutors=2
spark.dynamicAllocation.maxExecutors=50Pending tasks → spawn executors. Idle → kill.
С 3.0+ — без external shuffle service в k8s mode (через decommissioning).
Spark Operator
CRD для declarative Spark jobs.
apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
name: my-job
spec:
type: Scala
mode: cluster
image: spark:3.5
mainClass: com.example.Main
mainApplicationFile: local:///app.jarkubectl apply -f job.yaml → Operator creates pods.
Helps integrate Spark в k8s ecosystem (monitoring, logging, scaling).
k8s vs YARN
| k8s | YARN | |
|---|---|---|
| Container | Pods (Docker) | Containers (Hadoop-specific) |
| Multi-tenant | Native | Queues |
| Custom dependencies | Easy (Docker images) | Harder |
| Cloud native | Yes | Legacy |
| Hadoop ecosystem | Decoupled | Tight |
В 2026: k8s — modern preference. YARN — legacy Hadoop installs.
Связанные темы
- Spark RDD vs DataFrame для DE
- Spark memory tuning для DE
- Hadoop и MapReduce для DE
- HDFS для DE
- Подготовка к собесу Data Engineer
FAQ
Это официальная информация?
Нет. Статья основана на документации Spark / Spark Operator.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.