🚩 1. Концепции Data Lake
- Что такое Data Lake и чем оно отличается от хранилища данных (Data Warehouse)?
- Каковы типичные случаи использования Data Lake?
- В чем разница между Data Lake и хранилищем данных (data warehouse)?
- Объясните концепцию schema-on-read и schema-on-write.
- Какие проблемы обычно возникают при внедрении Data Lake?
🚩 2. Форматы Файлов (Parquet, ORC, Avro)
Parquet
- Что такое Apache Parquet и каковы его ключевые преимущества?
- Как Parquet достигает эффективного хранения и быстрой работы запросов?
- Объясните, как Parquet обрабатывает колончатые данные, и почему это важно?
- В каких сценариях вы предпочли бы использовать Parquet, а не другие форматы, такие как Avro или ORC?
ORC
- Что такое Apache ORC (Optimized Row Columnar), и чем он отличается от Parquet?
- Когда вы выберете ORC вместо Parquet?
- Какие характеристики производительности делают ORC подходящим для аналитических нагрузок?
Avro
- Что такое Apache Avro, и как он отличается от Parquet и ORC?
- В чем отличие Avro от Json?
- Почему вы выберете Avro для потоковых приложений (Kafka и т.д.)?
- В чем отличие avro от protobuf?
🚩 3. Современные Архитектуры Data Lake
Apache Iceberg
- Что такое Apache Iceberg и почему он был создан?
- Как Iceberg обеспечивает поддержку ACID транзакций для Data Lake?
- Как проводить транзакции затрагивающие несколько таблиц в iceberg?
- Что такое снимки таблиц в Iceberg и как это позволяет выполнять запросы во времени (time-travel queries)?
- Как Iceberg справляется с эволюцией схем?
Apache Hudi
- Что такое Apache Hudi (Hadoop Upserts, Deletes и Incrementals)?
- Как Hudi поддерживает инкрементальную обработку и апсерты?
- Объясните типы таблиц Hudi: Copy-On-Write (COW) и Merge-On-Read (MOR).
- В каких сценариях Apache Hudi особенно полезен?
Delta Lake
- Что такое Delta Lake и как он улучшает традиционные Data Lakes?
- Как Delta Lake обеспечивает поддержку ACID транзакций?
- Что такое версионирование в Delta Lake и как оно поддерживает откат и восстановление данных?
- Объясните, как Delta Lake работает с schema enforcement и schema evolution.
- Как Delta Lake оптимизирует запросы с помощью Z-Ordering?
🚩 4. Оптимизация производительности Data Lake
- Какие техники можно использовать для оптимизации производительности Data Lake?
- Как форматы столбцовых файлов, такие как Parquet и ORC, улучшают производительность запросов?
- Каковы лучшие практики для партиционирования данных в Data Lake?
- Как такие форматы как Delta Lake, Iceberg и Hudi оптимизируют производительность с использованием метаданных?
🚩 5. Сравнение форматов файлов и архитектур Lakehouse
- Когда выбрать Delta Lake, Apache Iceberg или Apache Hudi?
- Каковы ключевые различия между Parquet, ORC и Avro в отношении хранения и эффективности запросов?
- Можно ли использовать разные форматы файлов (Parquet, ORC, Avro) в одном Data Lake?
- Чем Delta Lake, Iceberg и Hudi отличаются по обработке обновлений, удалений и вставок?
🚩 6. Реальные сценарии использования и внедрение
- Как бы вы спроектировали архитектуру Data Lake для аналитики в реальном времени?
- Какие форматы файлов и архитектуры вы бы выбрали для системы ввода больших данных IoT?
- Какие соображения вы бы приняли во внимание при миграции от традиционного хранилища данных к архитектуре Data Lake?
- Как вы обеспечите управление данными и безопасность в Data Lake?
- Опишите сценарий, в котором вы бы предпочли гибридный подход (например, Delta Lake + традиционное DWH) вместо использования только Data Lake.
🚩 7. Инструменты для Data Lake и Lakehouse
- Какие инструменты можно использовать для эффективного управления и запроса данных в Data Lake?
- Как инструменты, такие как Apache Spark, Presto (Trino) и Apache Drill, интегрируются с Data Lake?
- Как автоматизировать ввод данных и каталогизацию в Data Lake?
- Как бы вы реализовали отслеживание происхождения данных (data lineage) в среде Data Lake?