Ответ
В моей практике был опыт обоих форматов. На последнем проекте по построению Data Lake я был частью кросс-функциональной команды, где ключевые архитектурные решения принимались совместно с архитекторами данных и платформы. Мы вместе выбирали технологии (например, Delta Lake поверх S3 для хранения, Apache Iceberg для табличного формата) и определяли принципы зонирования данных (Raw, Trusted, Curated).
При этом в рамках своей зоны ответственности я самостоятельно принимал множество решений. Например, для пайплайнов обработки в зоне Trusted я:
- Выбрал Apache Spark Structured Streaming поверх Apache Kafka для обработки потоковых данных, обосновав выбор производительностью и интеграцией с экосистемой.
- Спроектировал схему партиционирования данных по дате и региону для оптимизации запросов.
- Определил стратегию обработки поздних данных (late arrivals) с использованием водяных знаков (watermarking).
Такой подход позволял согласовывать общее видение, но при этом быстро и эффективно решать конкретные инженерные задачи.