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

apache-pigPierwsze kroki z świnką apaczową


Uwagi

Ta sekcja zawiera przegląd tego, czym jest świnia Apache i dlaczego deweloper może chcieć z niej skorzystać.

Powinien również wymieniać wszelkie duże tematy w obrębie świni Apache i link do powiązanych tematów. Ponieważ Dokumentacja dla świni Apache jest nowa, konieczne może być utworzenie początkowych wersji tych pokrewnych tematów.

Instalacja lub konfiguracja

Linux

Wymagania (r0.16.0)

Obowiązkowy

Zgodnie z aktualną dokumentacją Apache-Pig obsługuje tylko systemy operacyjne Unix i Windows .

  • Hadoop 0.23.X, 1.X lub 2.X
  • Zainstalowane wersje Java 1.6 lub nowsze oraz zmienna środowiskowa JAVA_HOME ustawiona na katalog instalacyjny Java

Opcjonalny

  • Python 2.7 lub więcej (Python UDF)
  • Ant 1.8 (dla kompilacji)

Pobierz najnowszą wersję Pig

Pobierz najnowszą wersję świni ze strony http://pig.apache.org/releases.html#Download

Instalacja

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/
 

Konfiguracja

Po zainstalowaniu Apache Pig musimy go skonfigurować.

Otwórz plik .bashrc

vim ~/.bashrc
 

W pliku .bashrc ustaw następujące zmienne -

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

zapisz plik i ponownie załaduj bashrc w środowisku używając

. ~/.bashrc
 

Weryfikacja wersji Pig

pig –version 
 

Jeśli instalacja się powiedzie, powyższe polecenie wyświetla numer zainstalowanej wersji Pig.

Testowanie instalacji świni

pig -h
 

Powinno to wyświetlić wszystkie możliwe polecenia związane ze świnią

Twoja świnia jest teraz instalowana lokalnie i możesz ją uruchomić za pomocą parametru lokalnego, takiego jak

pig -x local
 

Łączenie z Hadoop

Jeśli w klastrze jest zainstalowany Hadoop1.x lub 2.xi konfigurowana jest zmienna środowiskowa HADOOP_HOME.

możesz podłączyć świnię do Hadoop, dodając wiersz w .bashrc, jak poprzednio

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Running Pig

Tryby wykonania

Możesz uruchomić Pig za pomocą polecenia pig (bin / pig) lub uruchamiając plik jar (java -cp pig.jar)

Skrypty PIG można wykonywać w 3 różnych trybach:

  • Tryb lokalny

     pig -x local ...
     
  • Tryb mapreduce (tryb domyślny)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Tryb lokalny Tez

     pig -x tez ...
     

Tryb interaktywny

Świnię można uruchomić w trybie interaktywnym za pomocą powłoki Grunt . Instrukcje i polecenia Pig Latin można wprowadzać interaktywnie w tej powłoce.

Przykład

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

Mode może być jednym z trybów wykonywania, jak wyjaśniono w poprzedniej sekcji.

Tryb wsadowy

Świnię można również wykonać w trybie wsadowym. Tutaj .pig plik .pig zawierający listę instrukcji świni i poleceń.

Przykład

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

Podobnie Mode może być jednym z trybów wykonywania, jak wyjaśniono w poprzedniej sekcji.

Co to jest świnia?

Pig zapewnia silnik do równoległego wykonywania przepływów danych w Hadoop. Zawiera język Pig Latin do wyrażania tych przepływów danych. Pig Latin zawiera operatory wielu tradycyjnych operacji na danych (łączenie, sortowanie, filtrowanie itp.), A także możliwość opracowywania przez użytkowników własnych funkcji do odczytu, przetwarzania i zapisywania danych. Pig to projekt Apache typu open source. Oznacza to, że użytkownicy mogą bezpłatnie pobrać go jako źródło lub plik binarny, używać go dla siebie, przyczyniać się do niego oraz - zgodnie z warunkami licencji Apache - używać go w swoich produktach i zmieniać go według własnego uznania.

Przykład liczby słów u świni

Plik wejściowy

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

Kod liczby słów świni

-- 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;
 

Wynik

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