Тимур Машнин - Технология хранения и обработки больших данных Hadoop

Технология хранения и обработки больших данных Hadoop
Название: Технология хранения и обработки больших данных Hadoop
Автор:
Жанры: Интернет | Программирование | Книги о компьютерах
Серии: Нет данных
ISBN: Нет данных
Год: 2021
О чем книга "Технология хранения и обработки больших данных Hadoop"

Apache Hadoop – это платформа для распределенной обработки больших наборов данных на кластерах компьютеров с использованием простых моделей программирования. В этой книге вы познакомитесь с общей архитектурой платформы, компонентами стека, такими как HDFS и MapReduce, приложениями Hadoop.

Бесплатно читать онлайн Технология хранения и обработки больших данных Hadoop


Введение



Hadoop – это программная платформа с открытым исходным кодом Apache для хранения и крупномасштабной обработки больших наборов данных в распределенной среде кластеров компьютеров с использованием простых моделей программирования.



Hadoop предназначен для масштабирования от отдельных серверов до тысяч машин, каждая из которых обеспечивает локальные вычисления и хранилище.

Фреймворк Hadoop был создан Дагом Каттингом и Майком Кафареллой в 2005 году.

Первоначально этот фреймворк был разработан для поддержки распространения проекта Nutch Search Engine построения поисковых систем.

Даг, который в то время работал в Yahoo, а сейчас является главным архитектором в Cloudera, назвал этот проект в честь слона своего сына.

Его сын назвал своего игрушечного слона Hadoop, и Даг использовал это имя, чтобы так назвать свой проект.

Давайте посмотрим, что делает фреймворк Hadoop таким интересным, масштабируемым и удобным в использовании.

Hadoop начинался как простая среда пакетной обработки.

Идея, лежащая в основе Hadoop, заключается в том, что вместо перемещения данных в вычисления мы переносим вычисления в данные.

И в основе системы Hadoop лежит масштабируемость.

Все модули в Hadoop разработаны с фундаментальным предположением о том, что аппаратное обеспечение рано или поздно выходит из строя.

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

И компоненты Apache Hadoop – MapReduce и HDFS изначально были созданы на основе Google MapReduce и файловой системы Google.

Еще одна очень интересная вещь, которую приносит Hadoop, – это новый подход к данным.

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

Вместо того, чтобы тратить время на создание схемы, пытаясь подогнать данные к схеме, которую мы создали заранее, мы сохраняем все данные в приблизительном формате, а затем проецируем их в схему на лету, пока мы эти данные читаем.



Фреймворк Apache Hadoop содержит четыре основных компонента.

Это Hadoop Common, распределенная файловая система Hadoop или HDFS, Hadoop MapReduce и Hadoop YARN.

Hadoop Common содержит библиотеки и утилиты, необходимые для других модулей Hadoop.

Распределенная файловая система Hadoop хранит данные на обычном компьютере, обеспечивая очень высокую совокупную пропускную способность по всему кластеру компьютеров.

Hadoop YARN – это платформа управления ресурсами, которая отвечает за управление вычислительными ресурсами в кластере и их использование в при планировании пользователей и приложений.

И Hadoop MapReduce – это модель программирования, которая масштабирует данные по множеству процессов.

И все модули фреймворка Hadoop разработаны с фундаментальным предположением, что аппаратное обеспечение выходит из строя.



Если вы посмотрите на HDFS, YARN, MapReduce и всю платформу в целом, она состоит из многочисленных приложений, и каждое из этих приложений создано с учетом этого предположения.

У нас есть различные приложения, такие как Apache PIG, Apache Hive, HBase и другие.

И для конечного пользователя, через Java-код MapReduce, он может получить доступ к любому из этих приложений.

И мы можем строить различного вида системы из этих приложений.

Проекты Apache PIG и Apache Hive предоставляют интерфейсы высокого уровня, обеспечивая доступ к данным через пользовательский интерфейс.

Сам фреймворк Hadoop в основном написан на языке программирования Java и проект также содержит несколько приложений на нативном языке C и утилиты командной строки.



Теперь, давайте немного поговорим о распределенной файловой системе Hadoop.

Что такое HDFS по своей сути?

Это распределенная, масштабируемая и переносимая файловая система, написанная на Java для поддержки фреймворка Hadoop.

Каждый Hadoop кластер обычно состоит из одного узла Namenode и кластера узлов Datanode, которые и формируют этот кластер.

И каждая система HDFS хранит большие файлы, как правило, в диапазоне от гигабайтов до терабайтов.

И надежность системы HDFS достигается путем репликации многочисленных хостов.



Также файловая система HTFS поддерживает так называемый вторичный узел NameNote, который регулярно подключается к первичному узлу NameNote и создает снимки его состояния, запоминая, что система сохраняет в локальных и удаленных каталогах.

В каждой системе, основанной на Hadoop, содержится какая-то версия движка MapReduce.



Типичный движок MapReduce содержит средство отслеживания работы, в которое клиентские приложения могут отправлять задания MapReduce.

И этот трекер работы передает задачи всем доступным трекерам задач, которые есть в кластере.

Таким образом, классический Hadoop MapReduce представляет собой один процесс JobTracker и произвольное количество процессов TaskTracker, или по-другому один мастер узел и множество узлов slave.

MapReduce выполняет работу над огромным набором данных, обрабатывая данные и сохраняя их в HDFS таким образом, что извлечение данных производится проще, чем в традиционном хранилище.

Модель MapReduce следует принципам функционального программирования, вследствие чего пользовательские вычисления выполняются как функции map и reduce, обрабатывающие данные в виде пар ключ-значение.

Hadoop предоставляет высокоуровневый программный интерфейс для реализации пользовательских функций map и reduce на различных языках.

Также Hadoop предоставляет инфраструктуру для выполнения заданий MapReduce в виде серий задач map и reduce.

Задачи map вызывают функции map для обработки наборов входных данных.

Затем задачи reduce вызывают функции reduce для обработки промежуточных данных, сгенерированных функциями map, формируя окончательные выходные данные.

Задачи map и reduce выполняются изолированно друг от друга, что обеспечивает параллельность и отказоустойчивость вычислений.



Hadoop версии 1 содержал компоненты HDFS и Map Reduce.

И Hadoop версии 1 разрабатывался только для выполнения заданий MapReduce.

А Hadoop версии 2 уже содержит компоненты HDFS и YARN/Map Reduce версии 2.

В классическом Map Reduce, когда мастер узел перестает работать, тогда все его узлы slave автоматически перестают работать.

И мы должны перезапустить весь кластер и заново начать выполнять работу.

Это единственный сценарий, когда выполнение работы может прерваться, и это создает единственную точку отказа.

Компонент YARN или Yet Another Resource Negotiator решает эту проблему благодаря своей архитектуре.



YARN основывается на концепции нескольких мастер узлов и нескольких подчиненных slave узлов, и если один мастер узел выйдет из строя, тогда другой мастер узел возобновит процесс и продолжит выполнение.


С этой книгой читают
Python является наиболее популярным языком программирования, используемым для объектно-ориентированного программирования. И конечно, Python – это интерактивный язык программирования, который предоставляет широкий спектр возможностей для создания GUI (Graphical User Interface) и разработки настольных приложений. В этой книге вы познакомитесь с различными фреймворками Python для создания настольных приложений с графическим интерфейсом пользователя,
Эта книга познакомит с практическим использованием языка MetaQuotes Language 5 (MQL5) программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках с помощью торговой платформы MetaTrader 5.Вы научитесь создавать MQL5 приложения, используя как процедурное программирование, так и объектно-ориентированное программирование.Познакомитесь с общей структурой и свойствами техничес
Эта книга рассказывает о принципах работы Ethereum, отличии Ethereum от Bitcoin. Вы узнаете что такое децентрализованные приложения Dapp и смарт-контракты, познакомитесь с инструментами разработки Dapp. Изучите высокоуровневый язык Solidity создания смарт-контрактов для виртуальной машины Ethereum. Познакомитесь со средой разработки Remix. Узнаете о практическом применении смарт-контрактов, стандартах ERC20, ERC-721, ERC-1155 и EIP-3156.
Эта книга предназначена для всех, кто хочет изучить основы программирования с использованием языка Java.Эта книга даст понимание основных элементов программирования на Java и абстракции данных с использованием объектно-ориентированного подхода. С этой книгой Вы научитесь писать программы с использованием переменных, массивов, управляющих операторов, циклов, рекурсии, абстракции данных и объектов в интегрированной среде разработки. Вы изучите осно
Расцвет цифрового мира оказался не совсем таким, как мы ожидали. Персональные компьютеры и мобильные устройства подарили людям доступ к знаниям и новые возможности для обмена ими, жизнь стала проще и лучше благодаря новым технологиям, в первую очередь Всемирной паутине. Но очень скоро выяснилось, что у медали есть и обратная сторона: появились первые случаи кражи личной информации, цифровые вредоносные программы научились наносить реальный ущерб,
В последние десятилетия технологии коммуникации развивались так бурно, что большинству из нас трудно сейчас представить свою жизнь без мобильной связи и Интернета. Всемирная паутина – это огромная территория без границ и почти без правил. И как и в реальном мире, эту территорию «населяют» не только мирные обыватели, но и преступники всех мастей – от брачных аферистов и мошенников на доверии до наркоторговцев и наемных убийц. О том, какие опасност
Каждый из нас уже привык соцсетям и интернету, и есть такие люди, которые это понимают.
Перед вами книга, которая научит вашего ребёнка основам кибербезопасности и поможет выстроить здоровые отношения с гаджетами.Кибербезопасность – это не просто модное слово, а жизненно важный навык. Сегодня дети проводят много времени в виртуальной реальности – это их способ отдыхать, общаться и узнавать новое. Каждая семья по-своему решает, сколько времени ребёнок может проводить в Сети, но знать правила безопасного поведения в интернете необходи
«Правдивые истории про Митю Печёнкина» – это смешные, остроумные рассказы про младшеклассника Митю, очень любознательного и активного ребёнка, который постоянно попадает в разные нелепые ситуации. Его творческая натура требует действия и нестандартных решений, и Митя своей натуре ни в чём не отказывает.Автор книги – молодой писатель Алексей Лисаченко. Недавно у него вышли две книги: «Женька из 3А и новогодняя Злка» и «Алфавитные сказки», за котор
Киевская Русь времен Ярослава Мудрого. Трое достойных мужчин, представителей знатных европейских родов, добиваются руки и сердца старшей дочери великого князя. Кого из них выберет красавица и умница Елисава: немецкого герцога, молодого властителя Норвегии или непредсказуемого в поступках отважного воина Харальда – короля викингов и викинга среди королей?
Выполнение заданий сборника поможет расширить интеллектуальный багаж студента, развить его наблюдательность, культурный кругозор, а также совершенствовать мастерство изъясняться грамотно, оттачивать навыки орфографического и пунктуационного оформления текста, значительно расширить представление о русском языке как системе.
Подросток приезжает на родину, чтобы навестить бабушку, но ностальгия по раннему детству затягивает его в трясину подростковой наркомании. Книга содержит нецензурную брань.