140
Каскадная структура [2]
-
это богатый
Java API
, который предоставляет
множество компонентов для быстрой и экономичной разработки,
тестирования и интеграции приложений для больших данных.
Каскадирование имеет интересные преимущества.
Оно позволяет управлять
сложными запросами и обрабатывать сложные рабочие процессы в кластерах
Hadoop
. Он поддерживает масштабируемость, переносимость, интеграцию и
разработку через тестирование.
Этот
API
добавляет уровень абстракции в верхней части
Hadoop
, чтобы
упростить сложные запросы с помощью каскадной концепции. Фактически,
загруженные данные обрабатываются и разделяются рядом функций для
получения нескольких потоков, называемых потоками. Эти потоки образуют
ациклически ориентированные графы и могут
при необходимости
объединяться.
Сборка
канала определяет поток, который будет проходить между
источниками данных (ответвления источника) и выходными данными
(ответвления приемника), которые подключены к каналу. Трубная сборка
может содержать один или несколько кортежей заданного размера.
Каскадный поток написан на
Java
и преобразован во время выполнения
в классические задания
MapReduce
. Потоки выполняются в кластерах
Hadoop
и основаны на следующем процессе:
Экземпляр потока
-
это рабочий процесс,
который сначала считывает
входные данные из одного или нескольких отводов источника, а затем
обрабатывает их, выполняя набор параллельных или последовательных
операций, как определено сборкой канала. Затем он записывает выходные
данные в один или несколько отводов.
Tuple
представляет собой набор значений (например, запись базы
данных
таблицы
SQL
), которые могут быть проиндексированы с помощью
полей и могут быть сохранены непосредственно в любом формате файла
Hadoop
в виде пары ключ / значение. Кортеж должен иметь сопоставимые
типы, чтобы облегчить сравнение кортежей. Для расширения ее
возможностей было добавлено много расширений, включая [3,4]:
•
Шаблон (
Pattern)
: используется для создания прогнозных приложений
для больших данных. Он предоставляет множество алгоритмов машинного
обучения и позволяет
переводить документы
Predictive Model Markup
Language (PMML
) в приложения на
Hadoop.
•
Масштабирование (
Scalding)
: используется в качестве динамического
языка программирования для решения функциональных задач. Он основан на
языке Scala с простым синтаксисом. Это расширение создано и
поддерживается Twitter.
•
Cascalog
: позволяет разрабатывать приложения с использованием Java
или Clojure (динамический язык программирования, основанный на диалекте
Lisp). Он поддерживает специальные запросы,
выполняя серию нескольких
заданий MapReduce для анализа различных источников (HDFS, баз данных и
141
локальных данных). Он обеспечивает более высокий уровень абстракции,
чем Hive или Pig.
•
Lingual
: предоставляет интерфейс ANSI
-
SQL для Apache Hadoop и
поддерживает быструю миграцию данных и рабочих нагрузок в и из Hadoop.
Благодаря Lingual легче интегрировать существующие инструменты бизнес
-
аналитики
и другие приложения.
Do'stlaringiz bilan baham: