РанееЧасть 1: Основные понятия: уменьшение карты, HDFS. Инструменты: Hadoop, Spark

В этом блоге:

  • Инструменты (Presto, Hive, Apache Pig)
  • Базы данных столбцов: (BigTable, HBase, Cassandra)

Престо:

Presto — это распределенная система запросов SQL с открытым исходным кодом, предназначенная для обработки больших данных.

Преимущества Presto?

  • Он позволяет пользователям выполнять интерактивные специальные запросы к большим наборам данных, хранящимся в различных источниках данных, таких как HDFS, Amazon S3 и Apache Cassandra, среди прочих.
  • Он предназначен для быстрой, малой задержки и параллельной обработки. Он может обрабатывать большие наборы данных и предназначен для работы с различными источниками данных, такими как озера и хранилища данных.
  • Кроме того, Presto разработан с учетом высокой масштабируемости, он может обрабатывать тысячи одновременных пользователей и запросов и может обрабатывать сотни терабайт данных в одном запросе.

Как работает Presto?

  1. Пользователи могут выполнять SQL-подобные запросы к данным с помощью Presto SQL, который представляет собой вариант SQL, оптимизированный для обработки больших данных.
  2. Запрос разбивается на серию более мелких подзапросов, которые выполняются параллельно в источниках данных.
  3. Затем результаты подзапросов объединяются для получения окончательного набора результатов.

Использование. Если в вашем кластере Hadoop хранится таблица с названием «Продажи», вы можете использовать Presto для запроса общего объема продаж по регионам:

SELECT region, SUM(sales) 
FROM sales 
GROUP BY region;

Этот запрос вернет таблицу с двумя столбцами: «регион» и «сумма продаж» и покажет общий объем продаж по каждому региону.

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

Апачская свинья:

Apache Pig — это платформа высокого уровня для создания программ, работающих на Apache Hadoop. Он позволяет пользователям писать сложные задачи обработки данных, используя простой язык сценариев под названием Pig Latin.

Скрипты Pig Latin затем выполняются в кластере Hadoop и могут обрабатывать большие объемы данных параллельно.

Как работает Pig:

  1. Данные загружаются в HDFS. Пользователи пишут сценарии Pig Latin, которые определяют ряд операций обработки данных, таких как фильтрация, сортировка и группировка, которые должны выполняться над данными.
  2. Сценарий Pig Latin преобразуется в серию заданий MapReduce, которые выполняются с данными, хранящимися в HDFS.
  3. Затем результаты заданий MapReduce возвращаются пользователю в виде отношения, которое представляет собой структуру данных, представляющую обработанные данные.
  4. Pig предоставляет богатый набор встроенных операторов для общих задач обработки данных, таких как фильтрация, сортировка и объединение данных, а также гибкую модель программирования, которая позволяет пользователям создавать свои собственные пользовательские операторы.

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

Улей Апача:

Apache Hive – это хранилище данных и инструмент языка запросов, подобный SQL, созданный на основе HDFS. Он позволяет пользователям запрашивать и анализировать большие объемы данных, хранящихся в HDFS, с помощью SQL-подобного языка под названием HiveQL.

Как работает Hive?

  1. Данные загружаются в HDFS. Hive создает логическое представление данных, хранящихся в HDFS, путем создания таблицы поверх данных. Эта таблица содержит метаданные о данных, такие как имена столбцов и типы данных.
  2. Затем пользователи могут запрашивать данные с помощью HiveQL, который преобразуется в серию заданий MapReduce, которые выполняются с данными в HDFS.
  3. Результаты запроса возвращаются пользователю в табличном формате, аналогичном традиционной реляционной базе данных.
  4. Hive также предоставляет службу хранилища метаданных, представляющую собой реляционную базу данных, в которой хранятся метаданные для таблиц и разделов Hive.

Сравнения:

Свинья против Престо?

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

Hive или Presto?

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

Большой стол

Google Bigtable — это распределенные базы данных NoSQL, предназначенные для быстрого и высокопроизводительного доступа к большим объемам данных.

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

Hbase

База данных NoSQL, работающая поверх Hadoop. Apache HBase — это распределенная база данных NoSQL с семейством столбцов, работающая поверх распределенной файловой системы Hadoop (HDFS). Он создан по образцу Google Bigtable и предназначен для доступа к большим объемам данных с малой задержкой и высокой пропускной способностью.

Преимущества HBase?

HBase — хороший выбор, когда вам требуется произвольный доступ для чтения и записи в режиме реального времени к вашим большим данным, и его можно интегрировать с другими инструментами в экосистеме Hadoop, такими как Pig, Hive и MapReduce.

BigTable или HBase?

HBase построен поверх экосистемы Hadoop и работает поверх распределенной файловой системы Hadoop (HDFS), а Bigtable построен поверх файловой системы Google (GFS). В целом HBase более гибок, но есть небольшие отличия в зависимости от варианта использования.

Кассандра

Apache Cassandra — это распределенная база данных NoSQL, предназначенная для обработки больших объемов данных на нескольких обычных серверах. Cassandra использует модель данных семейства столбцов.

Cassandra против HBase?

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

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