Операторы в Apache Pig: Часть 1 - Операторы отношения



В этом посте рассказывается об операторах в Apache Pig. Взгляните на этот пост для операторов в Apache Pig: Часть 1 - Операторы отношения.

Этот пост посвящен операторам в Apache Pig.Apache Pig также позволяет вам писать сложные преобразования данных без знания Java, что делает его очень важным для .Давайте кратко рассмотрим, что такое Pig and Pig Latin и различные режимы, в которых они могут работать, прежде чем переходить к операторам.

Что такое Apache Pig?

Apache Pig - это процедурный язык высокого уровня для запросов к большим наборам данных с использованием Hadoop и Map Reduce Platform. Это пакет Java, в котором сценарии могут выполняться из любой языковой реализации, запущенной на JVM. Это широко используется в итерационных процессах.





типы функций в sql

Apache Pig упрощает использование Hadoop, разрешая SQL-подобные запросы к распределенному набору данных и позволяя создавать сложные задачи для быстрой и эффективной обработки больших объемов данных. Лучшая особенность Pig заключается в том, что он поддерживает многие реляционные функции, такие как Join, Group и Aggregate.

Я знаю, что Pig больше похож на инструмент ETL, и у него есть много общих функций с инструментами ETL. Но преимущество Pig перед инструментами ETL состоит в том, что он может работать на многих серверах одновременно.



Что такое Apache Pig Latin?

Apache Pig создает более простую абстракцию процедурного языка над Map Reduce, чтобы предоставить более похожий на язык структурированных запросов (SQL) интерфейс для приложений Hadoop под названием Apache Pig Latin, поэтому вместо написания отдельного приложения Map Reduce вы можете написать один скрипт в Apache Pig Latin, который автоматически распараллеливается и распределяется по кластеру. Проще говоря, Pig Latin - это последовательность простых операторов, принимающих входные данные и производящих выход. Входные и выходные данные состоят из пакетов, карт, кортежей и скаляров.

Режимы выполнения Apache Pig:

Apache Pig имеет два режима выполнения:

  • Локальный режим

В «Локальном режиме» исходные данные будут выбираться из локального каталога в вашей компьютерной системе. Режим MapReduce можно указать с помощью команды «pig –x local».



Операторы в Apache Pig - 1

  • Режим MapReduce:

Чтобы запустить Pig в режиме MapReduce, вам потребуется доступ к кластеру Hadoop и установке HDFS. Режим MapReduce можно указать с помощью команды «свинья».

Операторы Apache Pig:

Операторы Apache Pig Operators - это процедурный язык высокого уровня для запросов к большим наборам данных с использованием Hadoop и платформы Map Reduce. Оператор Pig Latin - это оператор, который принимает отношение в качестве входных данных и создает другое отношение в качестве выходных данных. Эти операторы являются основными инструментами, которые Pig Latin предоставляет для работы с данными. Они позволяют трансформировать его путем сортировки, группировки, объединения, проецирования и фильтрации.

Давайте создадим два файла для выполнения команд:

У нас есть два файла с именами «первый» и «второй». Первый файл содержит три поля: пользователь, URL и идентификатор.

Второй файл содержит два поля: url и рейтинг. Эти два файла представляют собой файлы CSV.

Операторы Apache Pig можно разделить на: Относительно-диагностический.

Операторы отношения:

Операторы отношения - это основные инструменты, которые Pig Latin предоставляет для работы с данными. Он позволяет преобразовывать данные путем сортировки, группировки, объединения, проецирования и фильтрации. В этом разделе рассматриваются основные операторы отношения.

НАГРУЗКА:

Оператор LOAD используется для загрузки данных из файловой системы или хранилища HDFS в отношение Pig.

В этом примере оператор загрузки загружает данные из файла «первым», чтобы сформировать отношение «загрузка1». Имена полей: пользователь, URL, идентификатор.

ДЛЯ КАЖДОГО:

Этот оператор генерирует преобразования данных на основе столбцов данных. Он используется для добавления или удаления полей из отношения. Используйте операцию FOREACH-GENERATE для работы со столбцами данных.

FOREACH Результат:

ФИЛЬТР:

Этот оператор выбирает кортежи из отношения на основе условия.

В этом примере мы фильтруем запись из «loading1», когда условие «id» больше 8.

ФИЛЬТР Результат:

ПРИСОЕДИНИТЬСЯ:

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

В этом примере соедините эти два отношения на основе столбца «url» из «loading1» и «loading2».

ПРИСОЕДИНЯЙТЕСЬ Результат:

СОРТИРОВАТЬ ПО:

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

В приведенном ниже примере мы сортируем данные в load2 в порядке возрастания в поле рейтингов.

ЗАКАЗАТЬ ПО Результату :

ОТЛИЧИТЕЛЬНЫЙ:

Distinct удаляет повторяющиеся кортежи в отношении. Давайте возьмем входной файл, как показано ниже, в котором есть амр, дерьмо, 8 и amr, myblog, 10 дважды в файле. Когда мы применяем различие к данным в этом файле, повторяющиеся записи удаляются.

что все может контролировать nagios

ОТЛИЧИТЕЛЬНЫЙ результат:

МАГАЗИН:

Магазин используется для сохранения результатов в файловой системе.

Здесь мы экономим загрузка3 данные в файл с именем хранение на HDFS.

СОХРАНИТЬ Результат:

ГРУППА:

Оператор GROUP группирует кортежи с помощью одного и того же группового ключа (ключевого поля). Поле ключа будет кортежем, если ключ группы имеет более одного поля, в противном случае он будет того же типа, что и ключ группы. Результатом операции GROUP является отношение, которое включает по одному кортежу на группу.

В этом примере группа th

отношение «загрузка1» по URL-адресу столбца.

GROUP Результат:

ГРУППА:

COGROUP совпадает с оператором GROUP. Для удобства чтения программисты обычно используют GROUP, когда задействовано только одно отношение, и COGROUP, когда задействовано несколько отношений.

В этом примере сгруппируйте 'loading1' и 'loading2' по полю URL в обоих отношениях.

COGROUP Результат:

ПЕРЕСЕКАТЬ:

Оператор CROSS используется для вычисления перекрестного произведения (декартова произведение) двух или более отношений.

Применение кросс-продукта к loading1 и loading2.

КРЕСТ Результат:

ПРЕДЕЛ:

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

LIMIT Результат:

ТРЕЩИНА:

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

Разделите load2 на два отношения x и y. Отношение x, созданное с помощью load2, содержит поля, в которых рейтинг больше 8, а отношение y содержит поля, рейтинг которых меньше или равен 8.

Есть вопрос к нам? Укажите их в комментариях, и мы свяжемся с вами.

Похожие сообщения:

Операторы в Apache Pig - Операторы диагностики

Шаги по созданию UDF в Apache Pig