Czy muszę nauczyć się Hadoop, aby zostać naukowcem danych?

38

Początkujący naukowiec danych. Nic nie wiem o Hadoop, ale kiedy czytałem o Data Science i Big Data, dużo mówię o Hadoop. Czy absolutnie konieczne jest nauczenie się Hadoop bycia naukowcem danych?

Pensu
źródło
1
Ta klasa pytań jest dyskutowana na temat meta. Możesz wyrazić swoją opinię na temat tego meta postu.
asheeshr
Nie jest to absolutnie konieczne. To tylko jedno z narzędzi. Konieczne jest zrozumienie statystyki i algebry liniowej. Wybór narzędzia jest drugorzędny.
Victor
Spójrz na ten darmowy e-book i próbuje odpowiedzieć na twoje pytanie. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta
Mam podobne pytanie na temat IBM Watson Analytics, Google Bigquery i innych analiz opartych na chmurze. Czy te technologie są lepsze niż Hadoop i Spark ... Właśnie zaczynam się uczyć Hadoop i Spark i czy naprawdę muszę się uczyć Hadoop i Spark, aby robić analizy danych big data

Odpowiedzi:

47

Różni ludzie używają różnych narzędzi do różnych rzeczy. Terminy takie jak Data Science są z jakiegoś powodu ogólne. Naukowiec danych mógłby spędzić całą karierę bez konieczności uczenia się konkretnego narzędzia, takiego jak hadoop. Hadoop jest szeroko stosowany, ale nie jest to jedyna platforma, która jest w stanie zarządzać danymi i nimi manipulować, nawet na dużą skalę.

Powiedziałbym, że specjalista od danych powinien znać takie koncepcje, jak MapReduce, systemy rozproszone, rozproszone systemy plików itp., Ale nie osądziłbym kogoś za to, że nie wiedział o takich rzeczach.

To duże pole. Istnieje morze wiedzy i większość ludzi jest w stanie uczyć się i być ekspertem w jednej kropli. Kluczem do bycia naukowcem jest chęć uczenia się i motywacja do poznania tego, czego jeszcze nie wiesz.

Jako przykład: mógłbym przekazać właściwej osobie sto uporządkowanych plików CSV zawierających informacje o wydajności w klasie w jednej klasie w ciągu dekady. Specjalista od danych byłby w stanie spędzić rok na gromadzeniu wiedzy na temat danych bez konieczności rozkładania obliczeń na wiele komputerów. Możesz zastosować algorytmy uczenia maszynowego, przeanalizować go za pomocą wizualizacji, połączyć z zewnętrznymi danymi o regionie, składem etnicznym, zmianami środowiska w czasie, informacjami politycznymi, wzorcami pogody itp. Wszystko to, moim zdaniem, byłoby „nauką danych” . Testowanie i zastosowanie wszystkiego, czego się nauczyłeś, może dotyczyć czegoś takiego jak hadoop, a nie tylko klasę, ale wszystkiego, czego się nauczyłeś, ale niekoniecznie musi to uczynić kogoś naukowcem.

Steve Kallestad
źródło
10

Jako były inżynier Hadoop nie jest potrzebny, ale pomaga. Hadoop to tylko jeden system - najpopularniejszy system oparty na Javie oraz ekosystem produktów, które stosują określoną technikę „Mapuj / Zmniejsz”, aby uzyskać wyniki w odpowiednim czasie. Hadoop nie jest używany w Google, ale zapewniam, że używają analityki dużych zbiorów danych. Google korzysta z własnych systemów opracowanych w C ++. W rzeczywistości Hadoop powstał w wyniku opublikowania przez Google ich oficjalnych dokumentów Map / Reduce i BigTable (HBase in Hadoop).

Naukowcy zajmujący się danymi będą kontaktować się z inżynierami hadoopów, choć w mniejszych miejscach może być konieczne noszenie obu czapek. Jeśli jesteś naukowcem zajmującym się danymi, to wszystko, czego używasz do analizy, R, Excel, Tableau itp., Będzie działało tylko na małym podzbiorze, a następnie będziesz musiał go przekonwertować, aby działał z pełnym zestawem danych obejmującym hadoop.

użytkownik9170
źródło
8

Najpierw musisz wyjaśnić, co rozumiesz przez „uczenie się Hadoop”. Jeśli masz na myśli używanie Hadoop, np. Naukę programowania w MapReduce, to prawdopodobnie jest to dobry pomysł. Z czasem podstawowa wiedza (baza danych, uczenie maszynowe, statystyki) może odgrywać większą rolę.

lgylym
źródło
Najwyraźniej większość ludzi korzysta z Hadoop do analiz. Chodzi mi o to, czy potrzebuję czegoś takiego, czy wystarczy wiedza na temat baz danych, ML, statystyk?
Pensu
5

Tak, powinieneś nauczyć się platformy, która potrafi rozdzielić twój problem na równoległy. Hadoop jest jeden. Do swoich prostych potrzeb (wzorce projektowe, takie jak liczenie, agregacja, filtrowanie itp.) Potrzebujesz Hadoop, a do bardziej złożonych rzeczy związanych z uczeniem maszynowym, takich jak wykonywanie Bayesian, SVM, potrzebujesz Mahout, który z kolei potrzebuje Hadoop (Now Apache Spark) do rozwiązania problemu za pomocą podejście równoległe do danych.

Więc Hadoop jest dobrą platformą do nauki i naprawdę ważną dla twoich potrzeb przetwarzania wsadowego. Nie tylko Hadoop, ale także musisz znać Spark (Mahout uruchamia to algorytmy wykorzystujące Spark) i Twitter Storm (na potrzeby analizy w czasie rzeczywistym). Ta lista będzie się rozwijać i ewoluować, więc jeśli znasz się na elementach składowych (obliczenia rozproszone, problemy z równoległymi danymi itp.) I wiesz, jak działa jedna taka platforma (powiedzmy Hadoop), będziesz dość szybko dostosowywać się do innych.

Jawar
źródło
4

Zależy to ściśle od środowiska / firmy, z którą pracujesz. Moim zdaniem w tej chwili pojawia się szum „big data” i wiele firm próbuje wejść na rynek dzięki rozwiązaniom opartym na hadoopie - co sprawia, że ​​hadoop jest również modnym słowem, ale nie zawsze jest to najlepsze rozwiązanie.

Moim zdaniem dobry specjalista ds. Danych powinien być w stanie zadawać właściwe pytania i zadawać je ponownie, dopóki nie okaże się, co naprawdę jest potrzebne. Niż dobry DataScientist - oczywiście - musi wiedzieć, jak rozwiązać problem (lub przynajmniej znać kogoś, kto może). W przeciwnym razie twój interesariusz może być sfrustrowany :-)

Powiedziałbym więc, że nauka Hadoop nie jest absolutnie konieczna.

PlagTag
źródło
2

Możesz zastosować techniki analizy danych do danych na jednym komputerze, więc odpowiedź na pytanie w formie wyrażonej przez OP brzmi „nie”.

Ihe Onwuka
źródło
1

Data Science to dziedzina wymagająca różnych umiejętności. Znajomość Hadoop jest jednym z nich. Do głównych zadań Data Scientist należą:

  1. Zbieranie danych z różnych zasobów.
  2. Czyszczenie i wstępne przetwarzanie danych.
  3. Badanie właściwości statystycznych danych.
  4. Wykorzystanie technik uczenia maszynowego do prognozowania i uzyskiwania wglądu w dane.
  5. Przekazywanie wyników decydentom w łatwy do zrozumienia sposób.

Z powyższych punktów znajomość Hadoop jest przydatna w punktach 1,2 i 3, ale musisz również mieć silne zaplecze matematyczne / statystyczne i silną wiedzę o technikach obliczeniowych, aby pracować w dziedzinie nauki o danych. Również Hadoop nie jest jedynym frameworkiem używanym w Data Science. Ekosystem Big Data ma wiele ram, z których każdy jest specyficzny dla konkretnego przypadku użycia. Ten artykuł zawiera materiał wprowadzający na temat głównych platform Big Data, które mogą być wykorzystane w Data Science:

http://www.codophile.com/big-data-frameworks-every-programmer-should-know/

Rajeev Singh
źródło
1

Uważam, że środowisko Leaning Hadoop (twarda droga) nie jest wymogiem bycia naukowcem danych. Ogólna wiedza na temat wszystkich platform dużych zbiorów danych jest niezbędna. Zasugeruję znajomość tego pojęcia i tylko część potrzebna od Hadoop to MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Data Scientist nie buduje klastra, administruje… jest po prostu „magiczny” z danymi i nie dba o to, skąd pochodzi. Termin „Hadoop” odnosi się nie tylko do powyższych modułów podstawowych, ale także do „ekosystemu” lub zbioru dodatkowych pakietów oprogramowania, które można zainstalować na lub obok Hadoop, takich jak Apache Pig, Apache Hive, Apache HBase, Apache Spark i inne.

Najważniejszy jest język programowania, matematyka i statystyka do pracy z danymi (musisz znaleźć sposób na połączenie się z danymi i przejście do przodu). Chciałbym, aby ktoś wskazał mi tę koncepcję i nie spędzał tygodni na tworzeniu frameworka i budowaniu od podstaw węzłów i klastrów, ponieważ ta część jest rolą administratora, a nie inżynierem danych ani badaczem danych. I jedno: wszystkie się zmieniają i ewoluują, ale matematyka, programowanie, statystyki są nadal wymaganiami.

dostęp do danych z hdfs jest niezbędny, na przykład PROC Hadoop, Hive, SparkContext lub inny sterownik lub potok (traktuj hadoop jako punkt dostępu do danych lub przechowywania :)

już istnieją narzędzia lub struktury, które zajmują się alokacją zasobów i zarządzaniem, wydajnością.

n1tk
źródło