Jednym z największych powodów, dla których popularność Hadoop gwałtownie wzrosła w ostatnim czasie, jest fakt, że funkcje takie jak Pig i Hive działają na dodatek, umożliwiając nie-programistom funkcje, które wcześniej były dostępne wyłącznie dla programistów Java. Te cechy były konsekwencją rosnącego zapotrzebowania na profesjonalistów Hadoop. Inne funkcje używane przez specjalistów Hadoop z środowisk innych niż Java to Flume, Sqoop, HBase i Oozie.
Aby zrozumieć, dlaczego nie potrzebujesz Javy do nauki Hadoop, sprawdź ten blog .
Zobaczmy, jak działają te funkcje.
Wszyscy wiemy, że znajomość programowania jest niezbędna do pisania kodów MapReduce. Ale co, jeśli mam narzędzie, które może wykonać kodowanie, jeśli podam tylko szczegóły? To tam Świnia pokazuje swoją siłę mięśni. Pig używa platformy o nazwie Pig Latin, która abstrahuje programowanie z idiomu MapReduce w języku Java do notacji, która sprawia, że programowanie MapReduce jest na wysokim poziomie, podobnie jak w SQL dla systemów RDBMS. Kody napisane w Pig Latin MapReduce są automatycznie konwertowane na równoważne funkcje MapReduce. Czy to nie jest niesamowite? Kolejnym oszałamiającym faktem jest to, że do zastąpienia 200 wierszy języka Java potrzeba tylko 10 wierszy świni.
różnica między interfejsem a klasą w java
10 linii Pig = 200 linii Java
Oznacza to nie tylko, że specjaliści spoza języka Java używają Hadoop, ale także świadczy o podkreślającym fakcie, że Pig jest używany przez taką samą liczbę programistów technicznych.
Dodatkowo, jeśli chcesz napisać własny kod MapReduce, możesz to zrobić w dowolnym języku, takim jak Perl, Python, Ruby lub C. Niektóre podstawowe operacje, które możemy wykonać na dowolnym zestawie danych za pomocą Pig to Grupuj, Połącz, Filtruj i Sortuj . Operacje te można wykonywać na danych ustrukturyzowanych, niestrukturalnych i częściowo ustrukturyzowanych. Zapewniają ad hoc sposób tworzenia i wykonywania zadań MapReduce na bardzo dużych zestawach danych.
Następnie przyjrzyjmy się Hive. Jest to struktura hurtowni danych typu open source w skali peta-bajtowej, oparta na platformie Hadoop, służąca do podsumowywania, wykonywania zapytań i analizy danych. Hive zapewnia interfejs podobny do języka SQL dla platformy Hadoop. Za pomocą Hive można odczytywać i zapisywać pliki na platformie Hadoop oraz uruchamiać raporty za pomocą narzędzia analizy biznesowej. Niektóre typowe funkcje Hadoop to:
Pozwólcie, że pokażę wam demo przy użyciu zestawu danych Pig on Clickstream
Będziemy używać tych danych Clickstream i przeprowadzać transformacje, łączenia i grupowania.
ClickStream to seria kliknięć myszą wykonywanych przez użytkownika podczas uzyskiwania dostępu do Internetu, zwłaszcza w przypadku monitorowania w celu oceny zainteresowań danej osoby w celach marketingowych. Jest używany głównie przez sklepy internetowe, takie jak Flipkart i Amazon, które śledzą Twoje działania w celu generowania rekomendacji. Zbiór danych Clickstream, z którego korzystaliśmy, zawiera następujące pola:
1. Typ języka obsługiwanego przez aplikację internetową
2. Typ przeglądarki
3. Typ połączenia
4. Identyfikator kraju
5. Znacznik czasu
6. URL
7. Status użytkownika
8. Typ użytkownika
Będzie to wyglądać tak z odpowiednimi polami.
Poniżej znajduje się lista typów przeglądarek, które były używane przez różne osoby podczas surfowania po określonej witrynie. Na liście znajdują się przeglądarki, takie jak Internet Explorer, Google Chrome, Lynx i tak dalej.
Typ połączenia internetowego może być Lan / Modem / Wifi. Zobacz obrazek poniżej, aby zobaczyć pełną listę:
Na następnym obrazku znajdziesz listę krajów, z których strona przyciągnęła odbiorców wraz z ich identyfikatorami.
Po zebraniu wszystkich zestawów danych musimy uruchomić powłokę Pig’s Grunt, która jest uruchamiana w celu wykonania poleceń Pig.
Pierwszą rzeczą, jaką musimy zrobić po uruchomieniu powłoki Grunt, jest załadowanie danych Clickstream do relacji Pig. Relacja to nic innego jak stół. Poniżej znajduje się polecenie, którego używamy, aby załadować plik znajdujący się w HDFS do relacji Pig.
Schemat relacji możemy zweryfikować poleceniem opisać click_stream.
Musimy teraz dodać pliki referencyjne, które będą zawierały szczegółowe informacje o liście krajów wraz z ich identyfikatorami i różnymi typami przeglądarek wraz z identyfikatorami.
Mamy teraz dwa pliki referencyjne, ale muszą one zostać połączone, aby utworzyć relację.
Uruchamiamy polecenie connection_ref, aby wskazać typ połączenia.
Teraz, gdy mamy działające połączenie i ustanowioną relację, pokażemy, jak możemy przekształcić te dane.
Dla każdego rekordu w Clickstream wygenerujemy nowy rekord w innym formacie, czyli przekształcone dane. Nowy format będzie zawierał takie pola, jak znacznik czasu, typ przeglądarki, identyfikatory krajów i kilka innych.
Możemy wykonać operację filtru, aby zmniejszyć Big Data. Różne typy użytkowników to Administratorzy, Goście lub Boty. W naszym demo przefiltrowałem listę dla Gości.
Jeśli pamiętasz, identyfikator kraju jest obecny w Clickstream i załadowaliśmy plik country_ref zawierający nazwy krajów wraz z identyfikatorami. W ten sposób możemy wykonać operację łączenia między dwoma plikami i połączyć dane w celu uzyskania szczegółowych informacji.
Jeśli połączyliśmy dane, możemy dowiedzieć się, z jakich krajów pochodzą użytkownicy, grupując. Po uzyskaniu tych danych możemy wykonać operację Count, aby zidentyfikować liczbę użytkowników z określonego kraju.
Wyciąganie wniosków z Big Data nie jest fizyką rakietową. To tylko niektóre z wielu funkcji, które wdrożyłem, a dzięki narzędziom takim jak Hive, Hbase, Oozie, Sqoop i Flume istnieje jeszcze skarb danych do zbadania. Więc ci z was, którzy powstrzymują się przed nauką Hadoop, nadszedł czas na zmianę.
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy, a my skontaktujemy się z Tobą.
Powiązane posty:
4 sposoby wspólnego korzystania z R i Hadoop
Wszystko o certyfikowanym deweloperze Cloudera dla Apache Hadoop