Как Hadoop помогает решить проблему больших данных

Автор: Eugene Taylor
Дата создания: 8 Август 2021
Дата обновления: 12 Май 2024
Anonim
Поднимаем Hadoop кластер локально | Скринкасты | Ok #1
Видео: Поднимаем Hadoop кластер локально | Скринкасты | Ok #1

Содержание



вынос:

Hadoop может помочь решить некоторые большие проблемы.

Большие данные ... ну ... большие по размеру! То, сколько данных можно классифицировать как большие, не очень понятно, поэтому давайте не будем увязать в этой дискуссии. Для небольшой компании, привыкшей работать с данными в гигабайтах, 10 ТБ данных будут БОЛЬШИМИ. Однако для таких компаний, как и Yahoo, петабайты - это большая вещь.

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

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

Большие данные неструктурированы или полуструктурированы

Многие большие данные неструктурированы. Например, данные журнала потоков кликов могут выглядеть следующим образом:

метка времени, user_id, страница, referrer_page

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

Нет смысла хранить большие данные, если мы не сможем их обработать

Хранение больших данных является частью игры. Мы должны обработать это, чтобы добыть из него интеллект. Традиционные системы хранения довольно «тупы» в том смысле, что они просто хранят биты. Они не предлагают никакой вычислительной мощности.

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

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

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

Итак, как мы видели выше, большие данные не поддаются традиционному хранению. Так как же нам обращаться с большими данными?

Как Hadoop решает проблему больших данных

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

Именно так построен Hadoop. Hadoop предназначен для запуска на кластере машин с самого начала.




Кластеры Hadoop масштабируются горизонтально
Большего объема памяти и вычислительной мощности можно достичь, добавив больше узлов в кластер Hadoop. Это избавляет от необходимости покупать все более мощное и дорогое оборудование.

Hadoop может обрабатывать неструктурированные / полуструктурированные данные
Hadoop не применяет схему к данным, которые он хранит. Он может обрабатывать произвольные и двоичные данные. Таким образом, Hadoop может легко переваривать любые неструктурированные данные.

Кластеры Hadoop обеспечивают хранение и вычисления
Мы увидели, что наличие отдельных кластеров хранения и обработки не подходит для больших данных. Однако кластеры Hadoop обеспечивают хранение и распределенные вычисления в одном.

Бизнес-кейс для Hadoop


Hadoop обеспечивает хранение больших данных по разумной цене
Хранение больших данных с использованием традиционного хранилища может быть дорогим. Hadoop построен на аппаратном оборудовании, поэтому он может обеспечить достаточно большое хранилище за разумную цену. Hadoop был использован в поле в петабайтном масштабе.

Одно исследование, проведенное Cloudera, показало, что предприятия обычно тратят от 25 000 до 50 000 долларов за терабайт в год. С Hadoop эта стоимость падает до нескольких тысяч долларов за терабайт в год. Поскольку оборудование становится все дешевле и дешевле, эта стоимость продолжает падать.

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

Одним из примеров могут быть журналы кликов на сайте. Поскольку объем этих журналов может быть очень высоким, не многие организации их регистрируют. Теперь с Hadoop можно захватывать и хранить журналы.

С Hadoop вы можете хранить данные дольше
Чтобы управлять объемом хранимых данных, компании периодически удаляют старые данные. Например, могут быть сохранены только журналы за последние три месяца, а старые журналы были удалены. С Hadoop можно хранить исторические данные дольше. Это позволяет проводить новую аналитику старых исторических данных.

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

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

Hadoop предоставляет богатую аналитику
Native MapReduce поддерживает Java как основной язык программирования. Другие языки, такие как Ruby, Python и R, также могут быть использованы.

Конечно, написание собственного кода MapReduce - не единственный способ анализа данных в Hadoop. Доступна карта уровня более высокого уровня. Например, инструмент с именем Pig берет английский язык как язык потока данных и переводит их в MapReduce. Другой инструмент, Hive, принимает запросы SQL и запускает их с помощью MapReduce.

Инструменты бизнес-аналитики (BI) могут обеспечить еще более высокий уровень анализа. Также есть инструменты для этого типа анализа.

Это содержание взято из "Hadoop Illuminated" Марка Керцнера и Sujee Maniyam. Он был доступен через лицензию Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.