Глубокое погружение в свинью



Это сообщение в блоге - глубокое погружение в Pig и его функции. Вы найдете демонстрацию того, как вы можете работать с Hadoop с помощью Pig без зависимости от Java.

Одна из основных причин, по которой популярность Hadoop в последнее время резко возросла, заключается в том, что на нем работают такие функции, как Pig и Hive, что позволяет непрограммистам пользоваться функциями, которые ранее были исключительно для программистов Java. Эти функции стали следствием растущего спроса на профессионалов Hadoop. Другие функции, которые используются профессионалами Hadoop, не использующими Java, - это Flume, Sqoop, HBase и Oozie.





Чтобы понять, почему вам не нужна Java для изучения Hadoop, прочтите этот блог .

1 История свиней



Давайте разберемся, как работают эти функции.

информатика для начинающих pdf

Все мы знаем, что знания программирования необходимы для написания кодов MapReduce. Но что, если у меня есть инструмент, который может кодировать, если я просто предоставлю детали? Вот где Свинья проявляет свою мускульную силу. Pig использует платформу под названием Pig Latin, которая абстрагирует программирование от идиомы Java MapReduce в нотацию, которая делает программирование MapReduce высоким уровнем, аналогичным уровню SQL для систем РСУБД. Коды, написанные на языке Pig Latin MapReduce, автоматически преобразуются в эквивалентные функции MapReduce. Разве это не круто? Еще один поразительный факт заключается в том, что для замены 200 строк Java требуется всего 10 строк.



10 строк Pig = 200 строк Java

Это не только означает, что Hadoop используют не-Java профессионалы, но и свидетельствует о том подчеркивающем факте, что Pig используется равным числом технических разработчиков.

Кроме того, если вы хотите написать свой собственный код MapReduce, вы можете сделать это на любом из языков, таких как Perl, Python, Ruby или C. Некоторые основные операции, которые мы можем выполнять с любым набором данных с помощью Pig, - это Group, Join, Filter и Sort. . Эти операции могут выполняться со структурированными, неструктурированными и частично структурированными данными. Они предоставляют специальный способ создания и выполнения заданий MapReduce для очень больших наборов данных.

А теперь давайте разберемся с Hive. Это платформа хранилища данных с открытым исходным кодом, основанная на Hadoop, для суммирования, запросов и анализа данных. Hive предоставляет SQL-подобный интерфейс для Hadoop. Вы можете использовать Hive для чтения и записи файлов в Hadoop и запуска отчетов с помощью инструмента бизнес-аналитики. Вот некоторые типичные функции Hadoop:

Позвольте мне показать вам демонстрацию с использованием набора данных Pig on Clickstream
Мы будем использовать эти данные Clickstream и выполнять преобразования, объединения и группировки.

ClickStream - это серия щелчков мышью, сделанных пользователем при доступе к Интернету, особенно при мониторинге для оценки интересов человека в маркетинговых целях. Он в основном используется веб-сайтами онлайн-торговли, такими как Flipkart и Amazon, которые отслеживают ваши действия для выработки рекомендаций. Набор данных Clickstream, который мы использовали, имеет следующие поля:

1. Тип языка, поддерживаемого веб-приложением.

2. Тип браузера

3. Тип подключения

4. Идентификатор страны

5. Отметка времени

преобразовать дату строки в дату в Java

6. URL

7. Статус пользователя

8. Тип пользователя

Это будет выглядеть вот так с соответствующими полями.

Ниже приведен список типов браузеров, которые использовались разными людьми при просмотре определенного веб-сайта. В списке есть такие браузеры, как Internet Explorer, Google Chrome, Lynx и так далее.

Тип подключения к Интернету может быть Lan / Modem / Wifi. Полный список см. На изображении ниже:

На следующем изображении вы найдете список стран, из которых веб-сайт привлек аудиторию, а также их идентификаторы.

После того, как мы собрали все наборы данных, мы должны запустить оболочку Pig’s Grunt, которая запускается для выполнения команд Pig.

Первое, что нам нужно сделать при запуске оболочки Grunt, - это загрузить данные Clickstream в отношение Pig. Отношение - это не что иное, как таблица. Ниже приведена команда, которую мы используем для загрузки файла, находящегося в HDFS, в отношение Pig.

Проверить схему отношения можно с помощью команды description click_stream.

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

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

роли и обязанности администратора hadoop

Теперь, когда у нас есть рабочее соединение и установленная связь, мы покажем вам, как мы можем преобразовать эти данные.
Для каждой записи в Clickstream мы будем генерировать новую запись в другом формате, то есть преобразованные данные. Новый формат будет включать такие поля, как отметка времени, тип браузера, идентификаторы страны и некоторые другие.

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

Если вы помните, идентификатор страны присутствует в Clickstream, и мы загрузили файл country_ref, содержащий названия стран вместе с их идентификаторами. Таким образом, мы можем выполнить операцию соединения между двумя файлами и объединить данные для получения информации.

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

Получать идеи из больших данных - это не ракетостроение. Это лишь некоторые из многих функций, которые я реализовал, и с такими инструментами, как Hive, Hbase, Oozie, Sqoop и Flume, есть масса данных, которые еще предстоит изучить. Итак, тем из вас, кто воздерживается от изучения Hadoop, пора меняться.

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

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

4 способа совместного использования R и Hadoop

Все о сертифицированном разработчике Cloudera для Apache Hadoop