Looking for apache-pig Answers? Try Ask4KnowledgeBase
Looking for apache-pig Keywords? Try Ask4Keywords

apache-pigНачало работы с apache-pig


замечания

В этом разделе представлен обзор того, что такое apache-pig, и почему разработчик может захотеть его использовать.

Следует также упомянуть о любых крупных предметах в Apache-pig, а также ссылки на связанные темы. Поскольку документация для apache-pig новая, вам может потребоваться создать начальные версии этих связанных тем.

Установка или настройка

Linux

Требования (r0.16.0)

Обязательный

Согласно текущей документации Apache-Pig она поддерживает только операционные системы Unix и Windows .

  • Hadoop 0.23.X, 1.X или 2.X
  • Установлены версии Java 1.6 или более поздней версии и переменная среды JAVA_HOME установлена ​​в каталог установки Java

Необязательный

  • Python 2.7 или более (Python UDF)
  • Ant 1.8 (для сборки)

Загрузите последнюю версию Pig

Загрузите последнюю версию свиньи из http://pig.apache.org/releases.html#Download

Монтаж

mkdir Pig
cd Downloads/ 
tar zxvf pig-(latest-version).tar.gz 
tar zxvf pig-(latest-version).tar.gz 
mv pig-(latest-version).tar.gz/* /home/Pig/
 

конфигурация

После установки Apache Pig мы должны настроить его.

Откройте файл .bashrc

vim ~/.bashrc
 

В файле .bashrc задайте следующие переменные -

export PIG_HOME = /home/Pig
export PATH  = PATH:/home/Pig/bin
 

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

. ~/.bashrc
 

Проверка версии Pig

pig –version 
 

Если установка прошла успешно, указанная выше команда отображает установленный номер версии Pig.

Тестирование установки свиней

pig -h
 

Это должно отображать все возможные команды, связанные с свиньями

Ваша свинья теперь установлена ​​локально, и вы можете запустить ее с помощью локального параметра, например

pig -x local
 

Подключение к Hadoop

Если Hadoop1.x или 2.x установлен в кластере, а переменная среды HADOOP_HOME настроена.

вы можете подключить свиньи к Hadoop, добавив строку в .bashrc, как раньше

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Запуск свиней

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

Вы можете запускать Свингу либо с помощью команды pig (bin / pig), либо путем запуска файла jar (java -cp pig.jar)

Сценарии PIG могут быть выполнены в трех разных режимах:

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

     pig -x local ...
     
  • Режим Mapreduce (режим по умолчанию)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Tez Local Mode

     pig -x tez ...
     

Интерактивный режим

Свинья можно запускать в интерактивном режиме с использованием оболочки Grunt . В этой оболочке интерактивно вводятся латинские инструкции и команды свиньи.

пример

$ pig -x <mode> <enter>
grunt>
 

Mode может быть одним из режимов выполнения, как описано в предыдущем разделе.

Пакетный режим

Свинья также могут выполняться в пакетном режиме. Здесь предоставляется .pig файл, содержащий список команд и команд свиньи.

пример

$ pig -x <mode> <script.pig>
grunt>
 

Аналогичным образом Mode может быть одним из режимов выполнения, как описано в предыдущем разделе.

Что такое свинья?

Свинья обеспечивает механизм для параллельного выполнения потоков данных на Hadoop. Он включает язык Pig Latin для выражения этих потоков данных. Pig Latin включает операторы для многих традиционных операций с данными (объединение, сортировка, фильтрация и т. Д.), А также возможность для пользователей разрабатывать свои собственные функции для чтения, обработки и записи данных. Pig - это проект с открытым исходным кодом Apache. Это означает, что пользователи могут бесплатно загружать их в качестве исходных или двоичных файлов, использовать их сами для себя, вносить в них вклад и, в соответствии с условиями лицензии Apache, использовать их в своих продуктах и ​​изменять их по своему усмотрению.

Пример подсчета слов в свинге

Входной файл

Mary had a little lamb
its fleece was white as snow
and everywhere that Mary went
the lamb was sure to go.
 

Сводный код счета слов

-- Load input from the file named Mary, and call the single
-- field in the record 'line'.
input = load 'mary' as (line);

-- TOKENIZE splits the line into a field for each word.
-- flatten will take the collection of records returned by
-- TOKENIZE and produce a separate record for each one, calling the single
-- field in the record word.
words = foreach input generate flatten(TOKENIZE(line)) as word;

-- Now group them together by each word.
grpd = group words by word;

-- Count them.
cntd = foreach grpd generate group, COUNT(words);

-- Print out the results.
dump cntd;
 

Выход

Mary,2
had,1
a,1
little,1
lamb,2
its,1
fleece,1
was,2
white,1
as,1
snow,1
and,1
everywhere,1
that,1
went,1
the,1
sure,1
to,1
go,1