Почему в Big Data так часто используют HDFS, Hive и Spark?
Когда речь заходит о классическом кластере для больших данных, почти всегда встречается именно эта тройка, и поэтому знание их покрывает значительную часть вакансий 😎. И это не случайность — у каждой технологии своя роль в цепочке.
Этапы работы стека
🏠 HDFS — хранение
Файловая система, принцип работы которой простой: есть главная нода (Namenode) с метаинформацией — названием файлов, их расположением и т.д., и подчиненные (Datanode), где непосредственно размещаются файлы.
Файлы (CSV, JSON, Parquet, ORC) разбиваются на блоки и распределяются по узлам кластера. Есть репликация для защиты от падений. Очень просто масштабируется и есть возможность хранить огромные объёмы (терабайты и петабайты).
🔍 Hive — доступ к данным
Изначально появился как движок, который бы позволял писать SQL для запросов к данным, лежащим в HDFS, без необходимости писать Java-приложения.
Есть такая полезная вещь, как Hive Metastore, которая хранит метаданные и можно использовать даже без непосредственно Hive (но об этом в следующий раз, когда будем говорить про Iceberg).
Довольно легко прикручивается к BI-инструментам .
⚙️ Spark — вычисления
Нам всем знакомый уже движок для обработки больших объёмов. Поддерживает batch, streaming, ML.
Он нативно умеет читать данные напрямую из HDFS или через Hive.
Работает в памяти, поэтому быстрее классического MapReduce.
Можно строить ETL-пайплайны только с помощью него — умеет читать по jdbc напрямую из разных баз и складывать в хранилище, и более того — может это параллелить в несколько потоков
Плюсы и минусы связки
✅ Проверенное решение: десятки лет используется в продакшне. Практически везде вы найдете Hadoop
✅ Гибкость: можно хранить любые форматы и обрабатывать разными инструментами.
✅ Подходит для разнообразных сценариев: от ETL до аналитики и ML.
❌ Не всегда оптимально для ad-hoc аналитики: Hive довольно медленный, поэтому для быстрых запросов лучше подойдут Trino/Impala или же отдельная бд вроде Clickhouse.
❌ Требует сложной настройки и администрирования.
❌ Всё-таки уже устаревает и сейчас тру смузи стек это S3+Iceberg+Trino/Spark
Итог
HDFS + Hive + Spark — это классическая база Big Data-архитектуры. И хотя она уже даже является несколько устаревшей, знание этой базы поможет вам пройти собес и найти работу 💪
Ставьте ❤️ если хотите больше разборов стека Big Data
Ставьте 🔥 если уже сталкивались с этой тройкой в продакшне
@bigdata_postupashki
Post #30
5.16K
- ❤ 12
- 🔥 5
- 👏 2