Статья, объясняющая три основных компонента экосистемы Hadoop.
Статья, объясняющая три основных компонента экосистемы Hadoop.

Выход на этап больших данных означает переход на этап NoSQL, который больше ориентирован на сценарии OLAP, то есть хранилища данных, BI-приложения и т. д.

Развитие технологий больших данных не случайно. Централизованные базы данных или распределенные базы данных, основанные на архитектуре MPP, часто используют стабильные, но относительно дорогие миникомпьютеры, компьютеры «все в одном» или серверы ПК с относительно плохой масштабируемостью, в то время как структуры обработки больших данных могут быть основаны на недорогих обычных аппаратных серверах; построены и теоретически поддерживают неограниченное расширение для поддержки сервисов приложений.

Наиболее известным в области больших данных является Hadoop Экология в целом это в основном Зависит от Три части:Базовая система хранения файлов HDFS(Hadoop Distributed File System,Hadoop распределенная файловая система)、Система расчета планирования ресурсов Yarn(Yet Another Resource переговорщик, другой координатор ресурсов) и на основе HDFS и Компоненты приложений верхнего уровня Yarn, такие как HBase、Hive ждать。типичныйна основе Hadoop Приложение показано на рисунке ниже.

▲Рисунок: Типичное приложение Hadoop.

01

HDFS

HDFS Предназначен для работы на оборудовании общего назначения (Commodity Распределенная файловая система на оборудовании). Она имеет много общего с существующими распределенными файловыми системами, такими как типичная Master-Slave Архитектура(Я не собираюсь представлять это здесь.),Есть и различия,HDFS да Высоко отказоустойчивая система,Подходит для развертывания на дешевых машинах.оHDFS Здесь я хочу отметить два основных момента: настройку количества копий по умолчанию и осведомленность о стойке (Rack Awareness)。

Число копий HDFS по умолчанию — 3. Это связано с тем, что Hadoop обладает высокой отказоустойчивостью. С точки зрения избыточности и распределения данных данные необходимо хранить в разных шкафах в одном компьютерном зале и в разных центрах обработки данных, чтобы обеспечить максимальный объем данных. доступность. Следовательно, для достижения вышеуказанной цели блоки данных необходимо хранить как минимум на разных стойках в одном компьютерном зале (2 копии) и в стойке по всему дата-центру (1 копия), всего 3 копии. данных.

Целью осведомленности о стойках является попытка обеспечить возможность связи между различными вычислительными узлами внутри одной стойки, а не между стойками, тем самым уменьшая передачу данных между различными сетями в распределенных вычислениях и уменьшая потребление ресурсов пропускной способности сети. Например, когда чтение данных происходит в кластере, клиент определяет, какой узел данных отправляет данные клиенту в порядке приоритета от ближнего к дальнему, поскольку в распределенной среде сетевой ввод-вывод стал основным узким местом производительности.

Только глубоко поняв эти два момента, мы сможем понять, почему Hadoop Высокая отказоустойчивость。Высокая отказоустойчивость Hadoop Основа, которая может работать на оборудовании общего назначения.

02

Yarn

Yarn — еще один подпроект Hadoop после Common, HDFS и MapReduce. Он был предложен в MapReduceV2.

В Hadoop1.0 JobTracker состоит из двух частей: диспетчера ресурсов (реализуемого модулем TaskScheduler) и управления заданиями (реализуемого несколькими модулями в JobTracker).

существовать Hadoop1.0 ,JobTracker Не существует разделения функций, связанных с управлением ресурсами, и функций, связанных с программами, одна за другой. Постепенно становится узким местом кластера, что приводит к плохой масштабируемости, снижению использования ресурсов и невозможности поддержки нескольких платформ. Хватит и многих других вопросов.

существовать MapReduceV2 в пряже Ответственный за управление MapReduce ресурсы (память, процессор и т. д.) и поместите его упакованный в Контейнер. Это сделает MapReduce Сосредоточьтесь на задачах обработки данных, с которыми он хорошо справляется, не думая о планировании ресурсов. Эта слабосвязанная архитектура обеспечивает Hadoop Гибкость общей структуры.

03

Hive

Hive основан на Hadoop инфраструктура хранилища данных, которая использует простые SQL заявление (аббревиатура HQL) для запроса и анализа хранилищасуществовать. HDFS данные вводим и помещаем SQL Заявление преобразуется в MapReduce Программа для обработки данных. Основные различия между традиционными реляционными базами данных Hive отражены в следующих моментах.

1) Место хранения, Hive изданныехранилищесуществовать HDFS или HBase В задних общих хранилищах существует голое устройство или локальная файловая система, Зависит от В Hive основан на HDFS построено, то зависит от HDFS Характеристики отказоустойчивости Hive Таблицы данных, естественно, избыточны.

2) Обновление базы данных, Hive Он не поддерживает обновления. Обычно он пишется один раз, а читается и записывается несколько раз (эта часть начинается с). Hive После 0.14 поддерживаются транзакционные операции, но ограничений больше), но из-за Hive основан на HDFS В качестве базового хранилища и HDFS Чтение и запись не поддерживает функции транзакций, поэтому Hive Поддержка транзакций обязательно требует разделения файлов данных и файлов журналов. Только программное обеспечение может поддерживать характеристики транзакции.

3) Исполнение SQL задерживать,Hive Задержка относительно высока, поскольку каждое выполнение требует SQL Оператор анализируется в MapReduce программа.

4) По масштабу данных,Hive Обычно TB Уровень иназад относительно невелик.

5) Масштабируемость,Hive поддерживать UDF, UDAF, UDTF, последний имеет относительно плохую масштабируемость.

04

HBase

HBase (база данных Hadoop) — это высоконадежная, высокопроизводительная, столбцово-ориентированная, масштабируемая распределенная система хранения. Его базовая файловая система использует HDFS, а ZooKeeper используется для управления связью между HMaster кластера и каждым сервером региона, мониторинга состояния каждого сервера региона и хранения адреса входа каждого региона.

1. Функции

HBase — это база данных в форме «ключ-значение» (аналог Map в Java). Поскольку это база данных, в ней должны быть таблицы. Таблицы в HBase, вероятно, имеют следующие характеристики.

1) Большой: таблица может иметь сотни миллионов строк и миллионы столбцов (когда столбцов много, вставка становится медленнее).

2) Ориентация на столбцы: управление хранением и разрешениями на основе столбцов (семейств), независимый поиск по столбцам (семействам).

3) Разреженность: пустые (нулевые) столбцы не занимают места для хранения, поэтому таблицу можно сделать очень разреженной.

4) Данные в каждой ячейке могут иметь несколько версий. По умолчанию автоматически назначается номер версии, который является меткой времени при вставке ячейки.

5) Все данные в HBase представляют собой байты, и не существует конкретного объекта данных, определенного по типу (поскольку системе необходимо адаптироваться к различным типам форматов данных и источникам данных, схема не может быть строго определена заранее).

Здесь следует отметить,что HBase такжеоснован на HDFS, поэтому также имеет значение по умолчанию 3 копирование, функции избыточности данных точка. также HBase Также используйте WAL функции, обеспечивающие согласованность чтения и записи данных.

2. хранилище

HBase Хранилище столбцов используется для хранения данных. Традиционные реляционные базы данных в основном используют хранилище строк. Данные хранятся определенным образом. Характеристика чтения данных заключается в чтении записей данных с диска в соответствии с степенью детализации строк, а затем на основе. Обрабатывать по фактическим данным необходимых полей. Если количество полей в таблице большое, но полей, которые необходимо обработать (особенно). (особенно в сценариях агрегации), из-за основного принципа хранения строк данные по-прежнему необходимо проверять в строках (полных полях). Спросите. В этом процессе существует диск, созданный программой приложения. Ввод-вывод, требования к памяти и сеть I/O и т. д. вызовет определенные Потери. Метод чтения данных на основе столбцов в основном считывает данные в соответствии с детализацией столбца. Этот вид чтения по требованию. Способ уменьшения дискового пространства, генерируемого приложением программы существующие Ввод-вывод, требования к памяти и сеть I/O。

также,Зависит от Поскольку однотипные данные представляют собой унифицированное хранилище, алгоритм сжатия, используемый в существующем процессе сжатия, основан на А эффективность будет еще больше повышена, что еще больше снизит требования к ресурсам в распределенных вычислениях.

Метод столбчатого хранения больше подходит для сценариев приложений OLAP, поскольку этот тип сценария имеет характеристики большого объема данных и небольшого количества полей запроса (часто агрегатных функций). Например, недавно популярный ClickHouse также использует столбчатое хранилище для хранения данных.

05

Spark и Spark Streaming

Spark Зависит от Twitter Разработанный компанией с открытым исходным кодом, он решает проблему анализа массивных потоков данных. Искра Сначала поместите данные импортировать Spark кластера, а затем быстро сканировать данные посредством управления на основе памяти, реализованного с помощью итеративных алгоритмов общая ситуация I/O Операции сведены к минимуму для повышения общей производительности обработки. Этот Hadoop Найдите «данные» из «расчета» Идея реализации аналогична и обычно подходит для сценариев, в которых несколько запросов и анализов записываются один раз.

Spark Streaming основан на Spark Платформа потоковых вычислений, которая обрабатывает и контролирует данные в реальном времени. и может записать рассчитанные результаты в HDFS. В настоящее время это самые популярные вычисления в реальном времени. Flink Похожи, но да и существование существенно отличаются от да, поскольку Spark Streaming основан Для обработки используется метод Micro-Batch (Микро-Пакет), а не обрабатывается построчно.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose