Samouczek Apache Pig: ostateczny przewodnik dla początkujących [2022]

Opublikowany: 2021-01-08

Big Data to stale rozwijająca się dziedzina. Ma zastosowanie w różnych branżach, w tym finansach, technologii, ochronie zdrowia itp.

Aby zostać profesjonalistą ds. Big Data, musisz nauczyć się różnych technologii używanych do analizy Big Data. A Hadoop to znacząca część tych technologii Big Data.

Apache Pig jest jednym z wielu podstawowych składników Hadoopa. Jeśli chcesz szybko analizować ogromne ilości danych, musisz użyć Pig. W tym artykule skupimy się na Apache Pig, narzędziu analitycznym, które nie tylko pomaga w zajmowaniu się dużymi porcjami danych, ale także oszczędza czas.

Spis treści

Samouczek Apache Pig: Co to jest?

Nauka o Apache Pig (lub Hadoop Pig) jest kluczowa, jeśli chcesz nauczyć się Hadoop. To platforma, za pomocą której możesz analizować ogromne zbiory danych. Możesz to zrobić, reprezentując zestawy danych jako przepływy danych.

Wszyscy wiemy, jak popularny jest Hadoop w świecie Data Science. A jeśli jesteś zainteresowany opanowaniem tego frameworka o otwartym kodzie źródłowym, musisz poznać Apache Pig.

Opiera się na Map-Reduce, który jest istotnym składnikiem Hadoop. Ponieważ umożliwia analizowanie dużych zbiorów danych, możesz pracować z większą wydajnością podczas korzystania z tego narzędzia. Możesz również użyć Apache Pig do projektów manipulacji danymi w Hadoop.

Pig to narzędzie wysokiego poziomu, które wymaga nauczenia się zaawansowanego języka zwanego Pig Latin. Pig Latin pomaga w pisaniu programów do analizy danych. Przeczytaj więcej o najlepszych narzędziach hadoop. Dzięki temu językowi możesz pisać, czytać i przetwarzać dane podczas opracowywania określonych funkcji do tych zadań.

Skrypty, które piszesz w Pig Latin zostaną automatycznie przekonwertowane w operacjach Map-Reduce. Silnik Apache Pig (zwany Pig Engine) pomaga konwertować napisane skrypty na te operacje. Poznanie tego narzędzia znacznie pomoże Ci w wykonywaniu Big Data Analytics.

Upraszcza różne procesy i pomaga zaoszczędzić czas dzięki szybkiemu językowi skryptowemu. Chociaż ma krzywą uczenia się, kiedy już to miniesz, zdasz sobie sprawę, że jest to jedno z najprostszych narzędzi do pracy.

Zdobądź stopnie inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Historia świni Apache

W 2006 roku w Yahoo, Apache Pig został stworzony do wykonywania operacji MapReduce na wielu zbiorach danych. Dzięki Apache Incubator, Apache Pig stał się open-source w 2007 roku. Rok później na rynek weszło jego pierwsze wydanie.

Wreszcie w 2010 roku Apache Pig stał się projektem wysokiego poziomu Apache. Od tego czasu stał się dość niezbędnym narzędziem dla profesjonalistów Big Data. Teraz, gdy już wiesz o pochodzeniu Świni, możemy zacząć dyskutować, dlaczego jest tak popularna i jakie są jej zalety.

Cechy Apache Pig

Świnia jest bogata w funkcje. Jego szeroka gama funkcji sprawia, że ​​jest to cenne i niezastąpione narzędzie dla ekspertów.

Oto jego cechy:

  • Pig ma wiele operatorów, których możesz użyć do uproszczenia operacji programistycznych.
  • Pozwala tworzyć funkcje w zależności od konkretnych wymagań. Funkcje te noszą nazwę UDF (funkcje zdefiniowane przez użytkownika) i można je pisać w dowolnym języku programowania, w tym w Pythonie, JRuby, Jave itp.
  • Pig jest w stanie obsłużyć wszystkie rodzaje danych. Oznacza to, że mogą być odczuwalne jako ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane wartości danych.
  • Automatycznie optymalizuje operacje przed ich wykonaniem.
  • Pozwala pracować nad całym projektem bez martwienia się o oddzielne funkcje Map i Reduce.

Dlaczego Apache Pig jest tak popularny?

Apache Pig ma wiele funkcji i zalet, które sprawiają, że jest to konieczność dla każdego profesjonalisty Big Data.

Przeczytaj: Różnica między Big Data a Hadoop

Co więcej, ponieważ eliminuje potrzebę uczenia się Javy do analizy danych, szybko staje się preferowanym wyborem dla tych programistów, którzy nie są biegli w posługiwaniu się tym językiem.

Oto kilka powodów, dla których Apache Pig jest tak ważny i popularny:

  • Możesz używać MapReduce i wykonywać swoje zadania bez konieczności nauki Javy.
  • Używając Pig, możesz wykonywać podstawowe operacje z mniejszą liczbą wierszy kodu. Kiedy używasz Pig do wykonywania operacji MapReduce, piszesz 20 razy mniej linii kodu niż napisałbyś, gdybyś nie używał Pig.
  • Pig oszczędza dużo czasu podczas pracy nad projektami MapReduce.
  • Posiada szeroki zakres operacji, takich jak Połącz, Wyodrębnij, Filtry itp.
  • Pig ma w swoim modelu wiele typów danych, których nie ma w Mapreduce. Należą do nich torby, krotki i kilka innych.

Teraz, gdy już wiesz, dlaczego jest tak popularny, powinniśmy teraz skupić się na kilku typowych przyczynach nieporozumień dotyczących Pig oraz innych narzędzi i języków.

Różnica między MapReduce a Apache Pig

Mimo że Apache Pig jest abstrakcją w stosunku do MapReduce Hadoopa, ich nakładające się funkcje mogą zmylić każdego. Oba są związane z wykonywaniem zadań MapReduce. Ale nawet przy tak podobnych aplikacjach, obydwa różnią się od siebie.

Oto główne różnice między Pig i MapReduce:

  • Apache Pig to język przepływu danych wysokiego poziomu. Z drugiej strony MapReduce to po prostu paradygmat niskiego poziomu do przetwarzania danych.
  • Możesz wykonać zadanie Join w Pig znacznie płynnie i wydajnie w porównaniu z MapReduce. Ten ostatni nie ma wielu opcji uproszczenia operacji łączenia wielu zestawów danych.
  • Nie musisz niczego kompilować, gdy używasz Apache Pig. Wszystkie operacje MapReduce wymagają znacznego procesu kompilacji.
  • Jeśli chcesz pracować z Pig, musisz mieć pewną (przynajmniej na poziomie początkującym) wiedzę na temat SQL. Z drugiej strony, aby korzystać z MapReduce, musisz znać Javę.
  • Pig umożliwia obsługę wielu zapytań, co sprawia, że ​​Twoja operacja jest bardziej wydajna, ponieważ piszesz bardzo niewiele wierszy kodu. MapReduce nie ma tej możliwości. Aby wykonać tę samą operację w MapReduce, musiałbyś napisać 20 razy więcej linii kodu niż w Pig.

Różnica między SQL a Apache Pig

Spore zamieszanie wśród początkujących specjalistów Big Data dotyczy SQL i Apache Pig. Nie znają znaczących różnic między nimi.

Oto różnice między Apache Pig a SQL:

  • Model danych Apache Pig jest relacyjny zagnieżdżony, podczas gdy model danych SQL jest relacyjny płaski. Zagnieżdżony model relacyjny ma domeny atomowe i relacyjne. Płaski model relacyjny ma tylko jedną tabelę do przechowywania wartości.
  • Schemat jest opcjonalny w Apache Pig, ale jest obowiązkowy w SQL. Oznacza to, że możesz przechowywać swoje dane w Apache Pig bez użycia Schema, podczas gdy nie możesz tego zrobić za pomocą SQL.
  • Pig nie ma wielu funkcji i opcji optymalizacji zapytań. SQL ma wiele możliwości w tym zakresie.
  • Apache Pig używa Pig Latin, która jest językiem proceduralnym. Z drugiej strony SQL jest językiem deklaratywnym. Tak więc, podczas gdy Pig Latin wykonuje wymagane zadania, SQL koncentruje się na opisaniu tego, co system ma wykonać.
  • W Apache Pig można wykonywać funkcje ETL, takie jak Extract, Transform i Load. Nie możesz tego zrobić z SQL.
  • Pig umożliwia przechowywanie danych w dowolnej lokalizacji w potoku, ale SQL nie ma takiej możliwości.

Różnica między ulem a świnią

„Ula kontra świnia” to popularny temat dyskusji wśród profesjonalistów. Gdy już poznasz różnicę między nimi, nie będziesz ich częścią. Oba są częścią ekosystemu Hadoop. Oba są niezbędne do pracy nad projektami Big Data, a także ułatwiają funkcjonalność innych komponentów Hadoop.

Aby uniknąć pomyłek między tymi dwoma, powinieneś przeczytać następujące różnice:

  • Apache Pig używa Pig Latin, który jest proceduralnym językiem programowania. Hive używa języka deklaratywnego o nazwie HiveQL, który jest podobny do języka SQL.
  • Pig może pracować z danymi częściowo ustrukturyzowanymi, ustrukturyzowanymi i nieustrukturyzowanymi. Hive w większości przypadków działa z danymi strukturalnymi.
  • Używałbyś Pig do programowania, a Hive do generowania raportów.
  • Pig obsługuje format plików Avro, którego nie obsługuje Hive.
  • Pig działa po stronie klienta klastra, podczas gdy Hive działa po stronie serwera.
  • Pig znajduje zastosowanie głównie wśród programistów i badaczy. Z drugiej strony Hive znajduje zastosowanie wśród analityków danych.

Co robi świnia Apache

Apache Pig używa Pig Latin jako języka do analizy danych. Jest to język wysokiego poziomu, którego używasz do przetwarzania danych, więc nauka wymaga trochę dodatkowego wysiłku.

Daje jednak wiele typów danych wraz z operatorami do wykonywania zadań. Pierwszym krokiem do użycia Pig jest napisanie skryptu Pig, który napisałbyś w języku Pig Latin.

Następnie będziesz musiał użyć jednego z różnych systemów wykonawczych do wykonania zadania. Różne opcje wykonywania w Pig obejmują Embedded, Grunt Shell i UDF.

Następnie framework Pig przekształca skrypty zgodnie z wymaganiami dotyczącymi generowania danych wyjściowych.

Apache Pig konwertuje skrypty Pig Latin Scripts na zadania MapReduce. W ten sposób Twoja praca jako programisty staje się dużo łatwiejsza.

Architektura świni Apache

Teraz, gdy wiesz, co robi Apache Pig i jak to robi, skupmy się na jego różnych komponentach. Jak wspomnieliśmy wcześniej, skrypty Pig podlegają różnym przekształceniom w celu wygenerowania pożądanego wyniku. W tym celu Apache Pig ma różne komponenty, które wykonują te operacje etapami.

Omówimy każdy etap osobno.

Pierwszy etap: Parser

Parser obsługuje wczesny etap analizy danych. Wykonuje w skrypcie szereg kontroli, w tym sprawdzanie typu i sprawdzanie składni. Wyjściowy Parser generuje zwany DAG (skierowany wykres acykliczny).

DAG pokazuje operatory logiczne i instrukcje Pig Latin. Pokazuje operatory logiczne jako węzły, a przepływy danych jako krawędzie.

Drugi etap: Optymalizator i kompilator

Parser przesyła DAG do Optymalizatora. Optymalizator wykonuje logiczną optymalizację DAG, która obejmuje czynności, takie jak przekształcanie, dzielenie i tak dalej.

Wykonuje wiele funkcji zmniejszania ilości danych w potoku podczas przetwarzania wygenerowanych danych. Wykonuje automatyczną optymalizację danych i wykorzystuje funkcje takie jak PushUpFilter, MapKeyPruner, Group By itp.

Masz możliwość wyłączenia funkcji automatycznej optymalizacji jako użytkownik. Po Optymalizatorze pojawia się kompilator, który kompiluje wynikowy kod do zadań MapReduce. Kompilator obsługuje konwersję Pig Script do zadań MapReduce.

Trzeci etap: silnik wykonawczy

Na koniec pojawia się silnik wykonawczy, w którym zadania MapReduce są przenoszone do Hadoop. Po ich przeniesieniu Hadoop daje wymagane rezultaty.

Możesz zobaczyć wynik danych za pomocą instrukcji „DUMP”. Podobnie, jeśli chcesz przechowywać dane wyjściowe w HDFS (główny składnik Hadoop), będziesz musiał użyć instrukcji 'STORE'.

Zastosowania Apache Pig

Główne zastosowania Świni są następujące:

  • Do przetwarzania ogromnych zbiorów danych, takich jak dane strumieniowe online i blogi.
  • Do przetwarzania danych platform wyszukiwania. Pig może obsługiwać wszystkie typy danych, co czyni go bardzo przydatnym do analizy platform wyszukiwania.
  • Do analizy danych wrażliwych na czas. Obejmuje to dane, które są stale aktualizowane, takie jak tweety na Twitterze.

Świetnym przykładem może być analiza tweetów na określony temat na Twitterze. Może chcesz zrozumieć zachowanie klientów w tym konkretnym temacie. Tweety zawierają media o różnej formie. A Pig może pomóc Ci je przeanalizować, aby uzyskać wymagane wyniki.

Tutorial o świniach: dokąd się udać?

Apache Pig to bez wątpienia jeden z najbardziej krytycznych obszarów Hadoopa. Nauczenie się tego nie jest łatwe, ale kiedy już to opanujesz, zobaczysz, o ile prostsze to ułatwia twoją pracę.

Oprócz Pig jest wiele obszarów Hadoop i Big Data.

Jeśli chcesz dowiedzieć się więcej o świni Apache, nauce o danych, sprawdź dyplom PG IIIT-B i upGrad w dziedzinie nauki o danych, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży , 1 na 1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.

upGrad oferuje unikalny kurs magisterski z informatyki, który pozwoli Ci doskonalić swoje umiejętności i wspierać rozwój Twojej kariery w programowaniu.

Zaplanuj swoją karierę programistyczną już teraz.

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania