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

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

Оглавление:

Anonim

Большие данные … ну … большие по размеру! Точно, сколько данных может быть классифицировано как большие данные, не очень ясно, так что давайте не будем увязать в этих дебатах. Для небольшой компании, привыкшей работать с данными в гигабайтах, 10 ТБ данных будут БОЛЬШИМИ. Однако для таких компаний, как Facebook и 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.

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