Kiedy używać Hadoop, HBase, Hive i Pig?

Jakie są korzyści z używania Hadoop lub HBase lub Hive ?

Z mojego zrozumienia, HBase unika korzystania z Map-reduce i ma magazyn kolumnowy na górze HDFS. Hive jest interfejsem podobnym do sql dla Hadoop i HBase.

Chciałbym też wiedzieć jak ul porównuje się z świnią .

Author: fxm, 2012-12-17

15 answers

MapReduce jest tylko frameworkiem obliczeniowym . Hbaza nie ma z tym nic wspólnego. To powiedziawszy, możesz efektywnie umieszczać lub pobierać dane do / Z HBase, pisząc zadania MapReduce. Alternatywnie można pisać programy sekwencyjne przy użyciu innych interfejsów API HBase, takich jak Java, aby umieścić lub pobrać dane. Ale używamy Hadoop, HBase itp do radzenia sobie z gigantycznymi ilościami danych, więc to nie ma większego sensu. Używanie zwykłych programów sekwencyjnych byłoby wysoce nieefektywne, gdy dane są zbyt ogromny.

Wracając do pierwszej części twojego pytania, Hadoop to w zasadzie 2 rzeczy: rozproszony system plików (HDFS) + Framework obliczeniowy lub przetwarzający (MapReduce). Podobnie jak wszystkie inne FS, HDFS również zapewnia pamięć masową w USA, ale w sposób odporny na błędy, z wysoką przepustowością i mniejszym ryzykiem utraty danych (z powodu replikacji). Ale, będąc FS, HDFS nie ma losowego dostępu do odczytu i zapisu . Tutaj pojawia się HBase. , skalowalny, big data store , wzorowany na BigTable Google. Przechowuje dane jako pary klucz / wartość.

Coming to Hive. Dostarcza dane USA magazynowanie obiekty na szczycie istniejącego klastra Hadoop. Wraz z tym zapewnia interfejs podobny do SQL, który ułatwia pracę, na wypadek, gdybyś pochodził z tła SQL. Możesz tworzyć tabele w Hive i przechowywać tam dane. Wraz z tym można nawet mapować istniejące tabele HBase do Ulu i działać na oni.

Podczas gdy Pig jest w zasadzie językiem przepływu danych , który pozwala nam przetwarzać ogromne ilości danych bardzo łatwo i szybko. Świnia składa się zasadniczo z 2 części: Świnia Interpreter i język, PigLatin . Piszesz Pig script w PigLatin i używając Pig interpreter przetwarzasz je. Pig sprawia, że nasze życie jest o wiele łatwiejsze, w przeciwnym razie pisanie MapReduce zawsze nie jest łatwe. W rzeczywistości w niektórych przypadkach może naprawdę stać się bólem.

Napisałem artykuł o krótkim porównanie różnych narzędzi ekosystemu Hadoop jakiś czas temu. Nie jest to dogłębne porównanie, ale krótkie wprowadzenie do każdego z tych narzędzi, które może pomóc Ci zacząć. (Aby dodać do mojej odpowiedzi. Brak autopromocji)

Zarówno zapytania Hive jak i Pig zamieniają się w zadania MapReduce pod maską.

HTH

 324
Author: Tariq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-12 15:45:08

Zaimplementowałem niedawno w mojej firmie platformę danych Hive i mogę z nią rozmawiać w pierwszej osobie, ponieważ byłem jednoosobowym zespołem.

Cel

  1. aby codzienne pliki dziennika internetowego zbierane z ponad 350 serwerów codziennie były wysyłane do zapytań przez niektóre SQL , takie jak język
  2. aby zastąpić codzienne dane agregacyjne generowane przez MySQL z Hive
  3. Tworzenie własnych raportów przez zapytania w Ul

Opcje Architektury

I benchmarked the następujące opcje:

  1. Hive+HDFS
  2. Hive+HBase - zapytania były zbyt wolne więc porzuciłem tę opcję

Design

  1. codzienne pliki dziennika zostały przetransportowane do HDFS
  2. MR jobs analizował te pliki dziennika i pliki wyjściowe w HDFS
  3. Tworzenie tabel Hive z partycjami i lokalizacjami wskazującymi na HDFS lokalizacje
  4. Create Hive query scripts (call it HQL if u like as diff from SQL), który z kolei uruchamiał MR jobs w tle i generował dane agregacyjne
  5. Umieść wszystkie te kroki w Oozie workflow-zaplanowany z codziennym Oozie Koordynator

Podsumowanie

HBase jest jak mapa. Jeśli znasz klucz, możesz natychmiast uzyskać wartość. Ale jeśli chcesz wiedzieć, ile kluczy całkowitych w Hbase jest między 1000000 a 2000000, to nie jest odpowiednie dla HBase .

Jeśli masz dane aby być zagregowane, zwinięte, analizowane w rzędach, a następnie rozważyć Ul.

Miejmy nadzieję, że to pomoże.

Hive naprawdę dobrze rządzi...Wiem, żyję nim od 12 miesięcy... Tak jak HBase ...

 46
Author: Sanjay Subramanian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-11 00:56:25

Rozważ, że pracujesz z RDBMS i musisz wybrać, czego chcesz użyć-Pełne skanowanie tabeli lub dostęp do indeksu-ale tylko jeden z nich.
Jeśli wybierzesz pełną tabelę Skanuj-użyj hive. If index access-HBase.

 21
Author: David Gruzman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-17 20:47:26

Hadoop jest frameworkiem, który pozwala na rozproszone przetwarzanie dużych zbiorów danych w klastrach komputerów przy użyciu prostych modeli programowania.

Istnieją cztery główne moduły w Hadoop.

  1. Hadoop Common : popularne narzędzia obsługujące inne moduły Hadoop.

  2. Hadoop Distributed File System (HDFS™): rozproszony system plików, który zapewnia dostęp do aplikacji o dużej przepustowości data.

  3. Hadoop YARN : framework do planowania zadań i zarządzania zasobami klastra.

  4. Hadoop MapReduce : oparty na przędzy system do równoległego przetwarzania dużych zbiorów danych.

Zanim przejdziemy dalej, zauważmy, że mamy trzy różne typy danych.

  • Structured: Dane strukturyzowane mają silny schemat i schemat będzie sprawdzany podczas operacji zapisu i odczytu. np. dane w systemach RDBMS takich jak Oracle, serwer MySQL itp.

  • Unstructured: Dane nie mają żadnej struktury i mogą być dowolną formą-dzienniki serwera www, E - Mail, obrazy itp.

  • Semi-structured : Dane nie są ściśle ustrukturyzowane, ale mają pewną strukturę. np. pliki XML.

W zależności od rodzaju przetwarzanych danych, musimy wybrać odpowiednią technologię.

Jeszcze kilka projektów, które są częścią Hadoop:

  • HBase™: Skalowalna, rozproszona baza danych, która obsługuje strukturyzowane przechowywanie danych dla dużych tabel.

  • Hive™: Infrastruktura hurtowni danych, która zapewnia podsumowanie danych i zapytania ad-hoc.

  • Pig™: wysokopoziomowy język przepływu danych i ramy wykonawcze do obliczeń równoległych.

Hive Vs PIG porównanie można znaleźć w tym Artykuł i mój drugi post w tym SE pytanie .

HBASE nie zastąpi Map Reduce. HBase jest skalowalną rozproszoną bazą danych i Map Reduce jest modelem programowania do rozproszonego przetwarzania danych. Map Reduce może działać na dane w HBASE podczas przetwarzania.

Możesz użyć HIVE / HBASE dla danych strukturalnych/półstrukturalnych i przetworzyć je za pomocą Hadoop Map Reduce

Możesz użyć SQOOP do importowania ustrukturyzowanych danych z tradycyjnych baz danych RDBMS Oracle, SQL Server itp i process it with Hadoop Map Reduce

Możesz użyć FLUME do przetwarzania niestrukturalnych danych i przetwarzania z Hadoop Map Reduce

Spójrz na: Hadoop Use Cases .

Hive powinien być używany do analitycznego odpytywania danych zebranych w danym okresie czasu. np. Oblicz trendy, podsumuj logi strony, ale nie może być używany do zapytań w czasie rzeczywistym.

HBase pasuje do zapytań Big Data w czasie rzeczywistym. Facebook używa go do przesyłania wiadomości i analiza w czasie rzeczywistym.

PIG może być używany do konstruowania przepływów danych, uruchamiania zaplanowanych zadań, chrupania dużych ilości danych, agregowania/podsumowywania ich i przechowywania w relacyjnych systemach bazodanowych. Dobre do analizy ad hoc.

Hive może być używany do analizy danych ad hoc, ale nie może obsługiwać wszystkich niezorganizowanych formatów danych w przeciwieństwie do PIG.

 21
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:34:41

Dla porównania Hadoop Vs Cassandra / HBase przeczytaj ten post.

Zasadniczo HBase umożliwia bardzo szybki odczyt i zapis ze skalowalnością. Jak szybko i skalowalnie? Facebook używa go do zarządzania statusami użytkowników, zdjęciami, wiadomościami na czacie itp. HBase jest tak szybki czasami stosy zostały opracowane przez Facebook, aby używać HBase jako magazynu danych dla Hive.

Gdzie jako Hive jest bardziej jak rozwiązanie hurtowni danych. Możesz użyć składni podobnej do SQL do zapytania Zawartość ula, co powoduje zmniejszenie zadania Mapy. Nie nadaje się do szybkich systemów transakcyjnych.

 5
Author: shazin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-17 10:27:32

Pracowałem nad architekturą Lambda przetwarzającą ładunki w czasie rzeczywistym i wsadowe. Przetwarzanie w czasie rzeczywistym jest potrzebne tam, gdzie szybkie decyzje muszą być podejmowane w przypadku alarmu pożarowego wysyłanego przez czujnik lub wykrywania oszustw w przypadku transakcji bankowych. Przetwarzanie wsadowe jest potrzebne do podsumowania danych, które mogą być wprowadzane do systemów BI.

Użyliśmy Hadoop ekosystem technologii dla powyższych aplikacji.

Przetwarzanie W Czasie Rzeczywistym

Apache Storm: przetwarzanie danych strumieniowych, reguła application

HBase: Datastore do obsługi Pulpitu Nawigacyjnego w czasie rzeczywistym

Przetwarzanie Wsadowe Hadoop: chrupanie ogromnej ilości danych. Przegląd 360 stopni lub dodawanie kontekstu do zdarzeń. Interfejsy lub frameworki takie jak Pig, MR, Spark, Hive, Shark pomagają w obliczeniach. Ta warstwa wymaga schedulera, dla którego Oozie jest dobrą opcją.

Warstwa obsługi zdarzeń

Apache Kafka była pierwszą warstwą, która pochłonęła zdarzenia o dużej prędkości z czujnika. Kafka służy zarówno w czasie rzeczywistym, jak i Batch analytics przepływ danych przez łączniki Linkedin.

 5
Author: akshat thakar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-16 07:31:43

Zrozumienie w głębi

Hadoop

Hadoop jest projektem open source fundacji Apache. Jest to framework napisany w Java, pierwotnie opracowany przez Douga Cuttinga w 2005 roku. Został stworzony w celu wsparcia dystrybucji dla Nutch, wyszukiwarki tekstowej. Hadoop wykorzystuje technologie Google Map Reduce i Google File System jako swój fundament.

Cechy Hadoop

  1. jest zoptymalizowany do obsługi ogromnych ilości dane ustrukturyzowane, częściowo ustrukturyzowane i nieustrukturyzowane przy użyciu sprzętu towarowego.
  2. Nie ma nic wspólnego z architekturą.
  3. replikuje swoje dane do wielu komputerów, tak że jeśli jeden z nich upadnie, dane mogą być nadal przetwarzane z innej maszyny, która przechowuje jego replikę.
  4. Hadoop jest dla wysokiej przepustowości, a nie małych opóźnień. Jest to operacja wsadowa obsługująca ogromne ilości danych; dlatego czas reakcji nie jest natychmiastowy.
  5. uzupełnia on-line Przetwarzanie transakcji i przetwarzanie analityczne Online. Nie jest to jednak zamiennik RDBMS.
  6. nie jest dobrze, gdy praca nie może być równoległa lub gdy istnieją zależności w danych.
  7. Nie nadaje się do przetwarzania małych plików. Działa najlepiej z ogromnymi plikami danych i zestawami danych.

Wersje Hadoop

Dostępne są dwie wersje Hadoop:

  1. Hadoop 1.0
  2. Hadoop 2.0

Hadoop 1.0

Składa się z dwóch głównych części:

1. Data Storage Framework

Jest to system plików ogólnego przeznaczenia o nazwie Hadoop Distributed File System (HDFS).

HDFS is schema-less

Po prostu przechowuje pliki danych, a te pliki danych mogą być w prawie dowolnym formacie.

Chodzi o przechowywanie plików tak blisko ich oryginalnej formy, jak to tylko możliwe.

To z kolei zapewnia jednostki biznesowe a organizacja bardzo potrzebna elastyczność i zwinność, nie martwiąc się zbytnio tym, co może wdrożyć.

2. Ramy Przetwarzania Danych

Jest to prosty model programowania funkcjonalnego, który został początkowo spopularyzowany przez Google jako MapReduce.

Zasadniczo wykorzystuje dwie funkcje: MAP i REDUCE do przetwarzania danych.

"Maperzy" pobierają zestaw par klucz-wartość i generują dane pośrednie (które są kolejną listą klucz-wartość par).

"Reduktory" następnie działają na tym wejściu, aby wytworzyć dane wyjściowe.

[77]}obie funkcje pozornie działają ze sobą w izolacji, umożliwiając w ten sposób przetwarzanie w wysoce równoległy, odporny na błędy i skalowalny sposób.

Ograniczenia Hadoop 1.0

  1. Pierwszym ograniczeniem było wymaganie MapReduce wiedzy programistycznej.

  2. Obsługiwał tylko przetwarzanie wsadowe, które chociaż nadaje się do zadań takich jak analiza logów, projekty eksploracji danych na dużą skalę, ale prawie nie nadaje się do innych rodzajów projektów.

  3. Jednym z głównych ograniczeń było to, że Hadoop 1.0 był ściśle powiązany obliczeniowo z MapReduce, co oznaczało, że uznani dostawcy zarządzania danymi pozostawili dwie opinie:]}
    1. Albo przepisać ich funkcjonalność w MapReduce, aby mogła być wykonane w Hadoop lub

    2. Wyodrębnij dane z HDFS lub przetwarza go poza Hadoop.

Żadna z opcji nie była realna, ponieważ doprowadziła do nieefektywności procesu spowodowanej przenoszeniem danych do i z klastra Hadoop.

Hadoop 2.0

W Hadoop 2.0, HDFS nadal jest framework do przechowywania danych.

Jednak nowy i oddzielny framework zarządzania zasobami o nazwie Y et a nother r esource Negotiater ( YARN) został dodano.

Każda aplikacja zdolna do podziału na równoległe zadania jest obsługiwana przez przędzę.

YARN koordynuje alokację podzadań złożonej aplikacji, zwiększając tym samym elastyczność, skalowalność i wydajność aplikacji.

Dzięki temu, że aplikacja została uruchomiona na serwerach zarządzanych przez nowego menedżera węzłów (Node Managera), można ją uruchamiać na serwerach zarządzanych przez nowego menedżera węzłów (Node Managera) (Node Managera).

ApplicationMaster jest w stanie aby uruchomić dowolną aplikację i nie tylko MapReduce.

Oznacza to, że obsługuje nie tylko przetwarzanie wsadowe, ale także przetwarzanie w czasie rzeczywistym. {[11] } nie jest już jedyną opcją przetwarzania danych.

Zalety Hadoop

Przechowuje dane w swoim ojczystym z. Nie ma struktury narzuconej podczas keying w danych lub przechowywania danych. HDFS is schema less. Dopiero później, gdy dane muszą być przetwarzane, struktura jest nałożona na dane surowe.

Jest skalowalne. Hadoop może przechowywać i dystrybuować bardzo duże zbiory danych w setkach niedrogich serwerów, które działają równolegle.

Jest odporny na niepowodzenia. Hadoop is fault tolerance. Pilnie wykorzystuje replikację danych, co oznacza, że za każdym razem, gdy dane są wysyłane do dowolnego węzła, te same dane są również replikowane do innych węzłów w klastrze, zapewniając tym samym,że w przypadku awarii węzła zawsze będzie dostępna inna kopia danych do użycia. Jest elastyczny. Jeden z główną zaletą Hadoop jest to, że może pracować z dowolnym rodzajem danych: strukturalnym, niestrukturalnym lub półstrukturalnym. Ponadto, przetwarzanie jest niezwykle szybkie w Hadoop dzięki paradygmatowi "move code to data".

Hadoop Ekosystem

Oto składniki Hadoop ekosystemu:

HDFS: Hadoop rozproszony system plików. Po prostu przechowuje pliki danych tak blisko oryginalnego formularza, Jak to możliwe.

HBase: jest to baza Hadoop i dobrze porównuje się z RDBMS. Obsługuje strukturyzowane przechowywanie danych dla dużych tabel.

Hive : umożliwia analizę dużych zbiorów danych przy użyciu języka bardzo podobnego do standardowego ANSI SQL, co oznacza, że każdy, kto jest spokrewniony z SQL, powinien mieć dostęp do danych na Hadoop klastrze.

Pig: jest to łatwy do zrozumienia język przepływu danych. Pomaga w analizie dużych zbiorów danych, co jest dość rzędu z Hadoop. Pig skrypty są automatycznie konwersja na zadania MapReduce przez interpreter Pig.

ZooKeeper: jest to usługa koordynacji dla rozproszonych aplikacji.

Oozie : jest to system workflow schedular do zarządzania zadaniami Apache Hadoop.

Mahout : jest to skalowalna biblioteka uczenia maszynowego i eksploracji danych.

Chukwa: jest to system zbierania danych do zarządzania dużym rozproszonym systemem.

Sqoop : służy do przesyłania masowych danych pomiędzy Hadoop a strukturyzowanymi magazynami danych, takimi jak relacyjne bazy danych.

Ambari: jest to internetowe narzędzie do tworzenia, zarządzania i monitorowania klastrów Hadoop.

Ul

Hive jest narzędziem infrastruktury hurtowni danych do przetwarzania ustrukturyzowanych danych w Hadoop. Znajduje się on na szczycie Hadoop, aby podsumować Duże Dane i ułatwia wyszukiwanie i analizę.

Ula nie jest

  1. Relacyjny baza danych

  2. Projekt do przetwarzania transakcji Online (OLTP).

  3. Język dla zapytań w czasie rzeczywistym i aktualizacji na poziomie wiersza.

Cechy Ula

  1. Przechowuje schemat w bazie danych i przetwarzane dane do HDFS.

  2. Jest przeznaczony dla OLAP.

  3. Dostarcza SQL język typu do zapytań o nazwie HiveQL lub HQL.

  4. Jest bardziej rodzinny, szybki, skalowalne i rozszerzalne.

Architektura Ula

W architekturze Ula zawarte są następujące elementy:

  1. Interfejs użytkownika: Hive jest infrastrukturą data warehouse, która może tworzyć interakcję między Użytkownikiem a HDFS. Interfejs użytkownika, który obsługuje Hive, to Hive Web UI, linia poleceń Hive i Hive HD Insight(w systemie Windows Server).

  2. MetaStore: Hive wybierz odpowiedni database servers do przechowywania schematu lub Metadata tabel, baz danych, kolumn w tabeli, ich typów danych i mapowania HDFS.

  3. HiveQL Process Engine: HiveQL jest podobny do SQL dla zapytań o informacje o schemacie na Metastore. Jest to jeden z zamienników tradycyjnego podejścia do programu MapReduce. Zamiast pisać MapReduce w Java, możemy napisać zapytanie dla MapReduce i je przetworzyć.

  4. Exceution Engine : część koniunkcyjna HiveQL silnika procesowego i MapReduce jest Hive silnikiem wykonawczym. Execution engine przetwarza zapytanie i generuje wyniki tak samo jak MapReduce results. Używa smaku MapReduce.

  5. HDFS lub HBase: Hadoop Distributed File System lub HBase to techniki przechowywania danych do przechowywania danych w systemie plików.

 3
Author: Pankti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-01 06:27:33

Przede wszystkim należy wyjaśnić, że Hadoop został stworzony jako szybsza alternatywa dla RDBMS . Przetwarzanie dużej ilości danych w bardzo szybkim tempie, co wcześniej zajęło dużo czasu w RDBMS.

Teraz trzeba znać dwa terminy:

  1. Dane strukturyzowane : są to dane, które wykorzystaliśmy w tradycyjnych systemach RDBMS i są podzielone na dobrze zdefiniowane struktury.

  2. Dane nieustrukturyzowane : jest to ważne, aby zrozumieć, o 80% światowych danych jest nieustrukturyzowanych lub częściowo ustrukturyzowanych. Są to dane, które znajdują się w postaci surowej i nie mogą być przetwarzane za pomocą RDMS. Przykład: dane facebook, twitter. (http://www.dummies.com/how-to/content/unstructured-data-in-a-big-data-environment.html).

Tak więc, duża ilość danych była generowana w ciągu ostatnich kilku lat i dane były w większości nieustrukturyzowane, co dało początek HADOOP. Był używany głównie do bardzo dużej ilości danych, które zajmują niewymierna ilość czasu przy użyciu RDBMS. Miał wiele wad, że nie mógł być używany do stosunkowo małych danych w czasie rzeczywistym, ale udało się usunąć jego wady w nowszej wersji.

zanim przejdę dalej, chciałbym powiedzieć, że nowe narzędzie Big Data jest tworzony, gdy widzą usterkę na poprzednich narzędziach. Niezależnie od tego, które narzędzie zostanie utworzone, zostało zrobione, aby przezwyciężyć problem poprzednich narzędzi.

Hadoop może być mówiąc po prostu jako dwie rzeczy: Mapreduce i HDFS . Mapreduce to miejsce przetwarzania, a HDFS to baza danych, w której przechowywane są dane. Struktura ta podążała za , tzn. zapisała się raz przeczytana wiele razy. Tak więc po zapisaniu danych w HDFS nie możemy wprowadzać zmian. Doprowadziło to do powstania HBASE , produktu NOSQL, w którym możemy wprowadzić zmiany w danych również po ich jednorazowym zapisaniu.

ale z czasem zobaczyliśmy, że Hadoop miał wiele usterki i w tym celu stworzyliśmy inne środowisko nad strukturą Hadoop. Świnia i UL to dwa popularne przykłady.

HIVE {[2] } został stworzony dla osób z tłem SQL . Pisane zapytania są podobne do SQL o nazwie HIVEQL . HIVE został opracowany do przetwarzania całkowicie danych strukturalnych . Nie jest używany do danych ustrukturyzowanych.

PIG z drugiej strony ma swój własny język zapytań tj. Pig LATIN. Może być stosowany zarówno do Uporządkowane oraz Dane nieustrukturyzowane.

Przechodząc do różnicy, kiedy używać ula, a kiedy świni, nie sądzę, aby ktokolwiek inny niż architekt świni mógł powiedzieć. Kliknij na link : https://developer.yahoo.com/blogs/hadoop/comparing-pig-latin-sql-constructing-data-processing-pipelines-444.html

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-26 13:45:04

Jestem początkujący w Hadoop, obecnie pracuję nad projektem z Hadoop i Pig Latin. z odrobiną doświadczenia mogę skomentować Pig vs Hive.

Oto porównanie:

  • łacina wieprzowa jest proceduralna, gdzie Hive jest deklaratywna.
  • Pig Latin pozwala programistom pipeline decydować, gdzie sprawdzić dane w potoku.
  • Pig Latin pozwala programiście wybrać konkretne implementacje operatorów bezpośrednio, a nie polegać na optymalizator.
  • Pig Latin wspiera splity w rurociągu.
  • Pig Latin pozwala programistom na wstawianie własnego kodu niemal w dowolnym miejscu w potoku danych.
 0
Author: Manu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-20 08:57:58

Spróbuję odpowiedzieć w kilku słowach.

Hadoop jest ekosystemem, który składa się ze wszystkich innych narzędzi. Więc nie możesz porównać Hadoop, ale możesz porównać MapReduce.

Oto moje kilka groszy:

  1. Hive: Jeśli twoja potrzeba jest bardzo SQLish, co oznacza, że twój problem może być obsługiwany przez SQL, to najprostszą rzeczą do zrobienia byłoby użycie Hive. Drugi przypadek, kiedy używasz hive jest wtedy, gdy chcesz, aby serwer miał pewną strukturę data.
  2. Pig: Jeśli czujesz się komfortowo z Pig Latin i Potrzebujesz więcej potoków danych. Ponadto Twoje dane nie mają struktury. W takich przypadkach można użyć świni. Szczerze mówiąc, nie ma dużej różnicy między Hive i Pig w odniesieniu do przypadków użycia.
  3. MapReduce: Jeśli twój problem nie może być rozwiązany za pomocą prostego SQL, najpierw powinieneś spróbować utworzyć UDF dla Hive & Pig, a następnie jeśli UDF nie rozwiązuje problemu, a następnie getting it done via MapReduce makes sens.
 0
Author: Sandeep Giri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-31 06:48:41

Pig: lepiej jest obsługiwać pliki i czyścić dane przykład: usuwanie wartości null, obsługa łańcuchów znaków, niepotrzebne wartości Hive: for querying on cleaned data

 0
Author: y durga prasad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-10 09:07:02

1.Używamy Hadoop do przechowywania dużych danych (tj. struktury, Unstructure i Semistructure danych) w formacie pliku jak txt, csv.

2.Jeśli chcemy mieć aktualizacje w naszych danych to używamy narzędzia Hbase

3.In przypadku Hive, przechowujemy Duże dane, które są w ustrukturyzowanym formacie ponadto zapewniamy analizę tych danych.

4.Pig to narzędzie wykorzystujące Język łaciński Pig do analizy danych w dowolnym formacie(struktura, półstruktura i unstructure).

 0
Author: swaroop,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-07 06:23:43

4 POWODY, DLA KTÓRYCH WARTO UŻYWAĆ HADOOP DO DATA SCIENCE:---

W ciągu ostatnich 10 lat, duże firmy internetowe, takie jak Google, Yahoo!, Amazon i Facebook z powodzeniem zastosowały algorytmy uczenia maszynowego na dużą skalę nad dużymi zbiorami danych, tworząc innowacyjne produkty danych, takie jak systemy reklam online i silniki rekomendacji.

Apache Hadoop szybko staje się centralnym magazynem big data w przedsiębiorstwie, a tym samym jest naturalną platformą, za pomocą której enterprise IT może teraz zastosować analitykę danych do różnych problemów biznesowych, takich jak rekomendacje produktów, wykrywanie oszustw i analiza nastrojów.

Bazując na wzorcach udoskonalania, odkrywania i wzbogacania, które opisaliśmy w naszym dokumencie Hadoop Patterns of Use, przejrzyjmy niektóre z głównych powodów, dla których warto używać Hadoop do data science, które zostały również uchwycone w poniższej prezentacji:

[slideshare id=18622467&doc=whyhadoopfordatascience-130411110136-phpapp02]

POWÓD 1: DANE EKSPLORACJA Z PEŁNYMI ZESTAWAMI DANYCH Analitycy danych kochają swoje środowisko pracy. Niezależnie od tego, czy używają R, SAS, Matlab czy Pythona, zawsze potrzebują laptopa z dużą ilością pamięci do analizy danych i tworzenia modeli. W świecie dużych zbiorów danych pamięć laptopa nigdy nie wystarcza, a czasami nawet nie jest bliska.

Powszechnym podejściem jest użycie próbki dużego zbioru danych, dużej próbki, która może zmieścić się w pamięci. Dzięki Hadoop możesz teraz uruchamiać wiele zadań eksploracyjnej analizy danych na pełnych zestawach danych, bez pobieranie próbek. Po prostu napisz mapę-zmniejsz zadanie, pig lub HIVE skrypt, uruchom go bezpośrednio na Hadoop nad pełnym zestawem danych, a wyniki prosto z powrotem do laptopa.

POWÓD 2: WYDOBYWANIE WIĘKSZYCH ZBIORÓW DANYCH W wielu przypadkach algorytmy uczenia maszynowego osiągają lepsze wyniki, gdy mają więcej danych do nauki, szczególnie w przypadku technik takich jak grupowanie, wykrywanie odstających i polecanie produktów.

Historycznie, duże zbiory danych nie były dostępne lub zbyt drogie, aby je nabyć i store, a więc praktycy uczenia maszynowego musieli znaleźć innowacyjne sposoby ulepszania modeli z raczej ograniczonymi zestawami danych. Dzięki platformie Hadoop, która zapewnia liniowo skalowalną pamięć masową i moc obliczeniową, możesz teraz przechowywać wszystkie dane w formacie RAW i używać pełnego zestawu danych do tworzenia lepszych, dokładniejszych modeli.

POWÓD 3: WSTĘPNE PRZETWARZANIE SUROWYCH DANYCH NA DUŻĄ SKALĘ Jak powie Ci wielu analityków danych, 80% prac związanych z nauką o danych to zazwyczaj Akwizycja danych, transformacja, czyszczenie i wyodrębnianie funkcji. Ten etap "wstępnego przetwarzania" przekształca surowe dane w format wykorzystujący algorytm uczenia maszynowego, zwykle w postaci macierzy cech.

Hadoop jest idealną platformą do wydajnego i rozproszonego wdrażania tego rodzaju wstępnego przetwarzania na dużych zbiorach danych, przy użyciu Map-reduce lub narzędzi takich jak PIG, HIVE i języków skryptowych, takich jak Python. Na przykład, jeśli aplikacja wymaga przetwarzania tekstu, często potrzebne do reprezentowania danych w formacie word-wektor za pomocą TFIDF, który obejmuje zliczanie częstotliwości słów na dużych korpusów dokumentów, idealny do pracy map-reduce partii.

Podobnie, jeśli Twoja aplikacja wymaga łączenia dużych tabel z miliardami wierszy w celu utworzenia wektorów cech dla każdego obiektu danych, HIVE lub PIG są bardzo przydatne i wydajne do tego zadania.

POWÓD 4: ZWINNOŚĆ DANYCH Często mówi się, że Hadoop jest "schema on read", w przeciwieństwie do większości tradycyjnych Systemy RDBMS, które wymagają ścisłego zdefiniowania schematu przed wprowadzeniem do nich jakichkolwiek danych.

"Schema on read "tworzy" zwinność danych": gdy potrzebne jest nowe pole danych, nie jest wymagane przechodzenie przez długi projekt przeprojektowania schematu i migracji bazy danych w produkcji, który może trwać miesiące. Pozytywny wpływ odbija się w organizacji i bardzo szybko każdy chce używać Hadoop do swojego projektu, aby osiągnąć ten sam poziom zwinności i zdobyć konkurencyjność korzyść dla ich działalności i linii produktów.

HIVE:---

Hive jest narzędziem infrastruktury hurtowni danych do przetwarzania ustrukturyzowanych danych w Hadoop. Znajduje się on na szczycie Hadoop, aby podsumować Duże Dane, i sprawia, że zapytania i analizy łatwe.

JEŚLI NIE ZNASZ PYTHONA LUB JAVY DO OBSŁUGI KODU MAPREDUCE...WTEDY BĘDZIESZ NIE MARTW SIĘ..ALE JEŚLI ZNASZ SQL TO POWINIENEŚ UŻYWAĆ HIVE..TO TEŻ NAZYWA SIĘ HIVEQL..DLA ZAPYTANIA O DUŻE Zbiory danych...

Świnia:--

Dlaczego Potrzebujemy Świni Apaczów? Programiści, którzy nie są tak dobrzy w Javie, Zwykle zmagali się z pracą z Hadoopem, szczególnie podczas wykonywania jakichkolwiek zadań MapReduce. Apache Pig jest dobrodziejstwem dla wszystkich takich programistów.

Używając języka Pig Latin, programiści mogą łatwo wykonywać zadania MapReduce bez konieczności wpisywania złożonych kodów w Javie.

Apache Pig wykorzystuje podejście multi-query, zmniejszając tym samym długość kodów. Na przykład operacja, która wymagałaby wpisania 200 linijek kodu (LoC) w Javie, może być łatwo wykonana, wpisując mniej niż 10 LoC w Apache Pig. Ostatecznie Apache Pig skraca czas rozwoju prawie 16 razy.

Pig Latin jest językiem podobnym do SQL i łatwo jest nauczyć się Apache Pig, gdy znasz SQL.

Apache Pig zapewnia wiele wbudowanych operatorów do obsługi operacji na danych, takich jak połączenia, filtry, zamawianie itp. Ponadto udostępnia zagnieżdżone typy danych, takie jak krotki, torby i mapy, których brakuje w MapReduce

HBASE:--

Apache HBase jest jedną z najpopularniejszych Nie relacyjnych baz danych zbudowanych na bazie Hadoop i HDFS (Hadoop Distributed File system). Jest również znany jako baza danych Hadoop. Jako projekt Apache, HBase jest open-source, wersjonowany i rozproszony NoSQL DB napisany w języku Java. Jest zbudowany na koncepcjach Bigtable Google. Apache HBase jest odpowiedni do zastosowań, w których potrzebujesz czasu rzeczywistego i losowego dostęp do odczytu/zapisu ogromnych ilości danych (Big data). Ponieważ HBase działa w oparciu o HDFS, wydajność zależy również od wsparcia sprzętowego. Musimy zapewnić wystarczającą liczbę węzłów (minimum 5), aby uzyskać lepszą wydajność.

Jakie są cechy HBase NoSQL DB? Apache HBase jest bazą danych zorientowaną na kolumny, która obsługuje dynamiczny schemat bazy danych. Działa głównie na serwerach HDFS i obsługuje zadania MapReduce. HBase obsługuje również inne języki wysokiego poziomu danych przetwarzam. Przyjrzyjmy się różnym cechom HBase:.

Skalowalność: HBase wspiera skalowalność zarówno w postaci liniowej, jak i modułowej

Sharding: HBase obsługuje automatyczne sharding tabel. Jest również konfigurowalny.

Rozproszona pamięć masowa: HBase obsługuje rozproszoną pamięć masową, taką jak HDFS

Spójność : obsługuje spójne operacje odczytu i zapisu

Obsługa przełączania awaryjnego: HBase obsługuje automatyczne przełączanie awaryjne

Obsługa API: HBase obsługuje API Java, dzięki czemu klienci mogą łatwo uzyskać do niego dostęp Obsługa MapReduce: HBase obsługuje MapReduce do równoległego przetwarzania dużych ilości danych

Wsparcie Back up: HBase obsługuje tworzenie kopii zapasowych Zadań Hadoop MapReduce w tabelach HBase Przetwarzanie w czasie rzeczywistym: obsługuje filtry block cache i Bloom. Tak więc przetwarzanie zapytań w czasie rzeczywistym jest łatwe

 0
Author: Bittu Thakur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-06 14:45:51

Czyszczenie danych w świni jest bardzo proste, odpowiednim podejściem byłoby czyszczenie danych przez świnię, a następnie przetwarzanie danych przez hive, a następnie przesyłanie ich do hdfs.

 0
Author: Akshay Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-12 04:09:04

Wykorzystanie Hive, Hbase i Pig w. r. T. moje doświadczenie w czasie rzeczywistym w różnych projektach.

Ul jest używany głównie do:

-- cel analityczny, w którym należy przeprowadzić analizę danych historycznych

--generowanie raportów biznesowych na podstawie określonych kolumn

-- efektywne zarządzanie danymi wraz z informacjami o metadanych

-- łączenie tabel na niektórych kolumnach, które są często używane za pomocą koncepcji bucketing

-- efektywne przechowywanie i wyszukiwanie przy użyciu koncepcja partycjonowania

-- nieprzydatne do operacji na poziomie transakcji/wiersza, takich jak aktualizacja, usuwanie itp.

Świnia jest najczęściej używana do:

-- częsta analiza danych na ogromnych danych

-- generowanie zagregowanych wartości / liczy na ogromne DANE

-- generowanie bardzo często kluczowych wskaźników wydajności na poziomie przedsiębiorstwa

Hbase jest najczęściej używany:

--do przetwarzania danych w czasie rzeczywistym

-- do efektywnego zarządzania złożonym i zagnieżdżonym schematem

--dla zapytań w czasie rzeczywistym i szybszego wyniku

--dla łatwej skalowalności z kolumnami

-- przydatne do operacji na poziomie transakcji/wiersza, takich jak aktualizacja, usuwanie, itp.

 0
Author: user1326784,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-02 04:06:36