Rola Apache Spark w Big Data i co go wyróżnia

Opublikowany: 2018-05-30

Apache Spark stał się znacznie bardziej dostępnym i atrakcyjnym zamiennikiem Hadoopa, oryginalnego rozwiązania do zarządzania Big Data. Apache Spark, podobnie jak inne wyrafinowane narzędzia Big Data, jest niezwykle wydajny i dobrze wyposażony do efektywnego radzenia sobie z ogromnymi zestawami danych.
W tym poście na blogu pomożemy Ci wyjaśnić niuanse Apache Spark.

Spis treści

Co to jest Apache Spark?

Apache Spark
Spark, w bardzo prostych słowach, jest uniwersalnym narzędziem do obsługi danych i silnikiem przetwarzania, który nadaje się do użytku w różnych okolicznościach. Analitycy danych wykorzystują Apache Spark do ulepszania zapytań, analiz i transformacji danych. Zadania najczęściej wykonywane przy użyciu platformy Spark obejmują interaktywne zapytania dotyczące dużych zestawów danych, analizę i przetwarzanie danych przesyłanych strumieniowo z czujników i innych źródeł, a także zadania uczenia maszynowego.
Spark został wprowadzony w 2009 roku na Uniwersytecie Kalifornijskim w Berkeley. W 2014 r. trafił do inkubatora Apache Software Foundation, a w 2014 r. został awansowany do jednego z najwyższych projektów Fundacji. Obecnie Spark jest jednym z najwyżej ocenianych projektów fundacji. Społeczność, która wyrosła wokół projektu, obejmuje zarówno płodnych indywidualnych współpracowników, jak i dobrze finansowanych sponsorów korporacyjnych.

Od momentu powstania dbano o to, aby większość zadań odbywała się w pamięci. Dlatego zawsze miał być szybszy i znacznie bardziej zoptymalizowany niż inne podejścia, takie jak MapReduce firmy Hadoop, który zapisuje dane na dyskach twardych i z nich między każdym etapem przetwarzania. Twierdzi się, że zdolność Sparka w pamięci zapewnia mu 100-krotną prędkość niż MapReduce Hadoopa. To porównanie, jakkolwiek prawdziwe, nie jest sprawiedliwe. Ponieważ Spark został zaprojektowany z myślą o szybkości, podczas gdy Hadoop został idealnie opracowany do przetwarzania wsadowego (które nie wymaga tak dużej szybkości jak przetwarzanie strumieniowe).

Wszystko, co musisz wiedzieć o Apache Storm

Co robi Spark?

Spark może jednocześnie obsługiwać petabajty danych. Dane te są dystrybuowane w klastrze tysięcy współpracujących serwerów – fizycznych lub wirtualnych. Apache Spark zawiera obszerny zestaw bibliotek i API, które obsługują wszystkie powszechnie używane języki, takie jak Python, R i Scala. Spark jest często używany z HDFS (Hadoop Distributed File System – system przechowywania danych Hadoop), ale można go równie dobrze zintegrować z innymi systemami przechowywania danych.

Niektóre typowe przypadki użycia Apache Spark obejmują:

  • Przesyłaj strumieniowo i przetwarzaj strumieniowo: dziś zarządzanie „strumieniem” danych jest wyzwaniem dla każdego profesjonalisty. Dane te docierają w sposób ciągły, często z wielu źródeł i jednocześnie. Chociaż jednym ze sposobów mogłoby być przechowywanie tych danych na dyskach i analizowanie ich retrospektywnie, kosztowałoby to firmy straty. Na przykład strumienie danych finansowych mogą być przetwarzane w czasie rzeczywistym w celu identyfikacji — i odrzucenia — potencjalnie fałszywych transakcji. Apache Spark właśnie w tym pomaga.
  • Uczenie maszynowe: wraz ze wzrostem ilości danych podejścia do uczenia maszynowego również stają się znacznie bardziej wykonalne i dokładne. Obecnie oprogramowanie można wyszkolić w identyfikowaniu i działaniu na wyzwalacze, a następnie stosowaniu tych samych rozwiązań do nowych i nieznanych danych. Wyjątkowa funkcja przechowywania danych w pamięci Apache Spark pomaga w szybszym wykonywaniu zapytań, dzięki czemu jest doskonałym wyborem do uczenia algorytmów ML.
  • Interaktywna analiza strumieniowa: analitycy biznesowi i analitycy danych chcą zbadać swoje dane, zadając pytanie. Nie chcą już pracować ze wstępnie zdefiniowanymi zapytaniami w celu tworzenia statycznych pulpitów nawigacyjnych sprzedaży, produktywności linii produkcyjnej lub cen akcji. Ten interaktywny proces zapytań wymaga systemów, takich jak Spark, które są w stanie szybko reagować.
  • Integracja danych: Dane są generowane z różnych źródeł i rzadko są czyste. Procesy ETL (Extract, Transform, Load) są często wykonywane w celu pobrania danych z różnych systemów, oczyszczenia ich, standaryzacji, a następnie przechowywania ich w oddzielnym systemie do analizy. Spark jest coraz częściej używany w celu zmniejszenia kosztów i czasu potrzebnego do tego.
15 najlepszych pytań i odpowiedzi podczas wywiadu Hadoop w 2018 r.

Firmy korzystające z Apache Spark

Wiele organizacji szybko wsparło i połączyło ręce dzięki Apache Spark. Zdali sobie sprawę, że Spark zapewnia prawdziwą wartość, taką jak interaktywne zapytania i uczenie maszynowe.
Znane firmy, takie jak IBM i Huawei, zainwestowały już dość znaczną sumę w tę technologię, a wiele rozwijających się startupów buduje swoje produkty w Spark i wokół niego. Na przykład zespół Berkeley odpowiedzialny za tworzenie Spark założył Databricks w 2013 roku. Databricks zapewnia hostowaną, kompleksową platformę danych obsługiwaną przez Spark.

Wszyscy główni dostawcy Hadoop zaczynają wspierać Spark obok swoich istniejących produktów. Organizacje internetowe, takie jak Baidu, e-commerce Alibaba Taobao i firma sieci społecznościowych Tencent, wykorzystują operacje oparte na Spark na dużą skalę. Aby dać ci pewną perspektywę mocy Apache Spark, Tencent ma 800 milionów aktywnych użytkowników, którzy generują ponad 800 TB danych dziennie do przetwarzania.

Oprócz tych internetowych gigantów, firmy farmaceutyczne, takie jak Novartis, również polegają na Spark. Korzystając ze Spark Streaming, skrócili czas potrzebny na przekazanie danych modelowania w ręce badaczy.

Przewodnik autostopowicza po MapReduce

Co wyróżnia Spark?

Przyjrzyjmy się kluczowym powodom, dla których Apache Spark szybko stał się ulubieńcem naukowców zajmujących się danymi:

  • Elastyczność i dostępność: Mając tak bogaty zestaw interfejsów API, Spark zapewnił, że wszystkie jego możliwości są niesamowicie dostępne. Wszystkie te interfejsy API są przeznaczone do szybkiej i wydajnej interakcji z danymi na dużą skalę, dzięki czemu Apache Spark jest niezwykle elastyczny. Istnieje dokładna dokumentacja dla tych interfejsów API, napisana w niezwykle przejrzysty i prosty sposób.
  • Szybkość: Szybkość jest tym, do czego stworzono Spark. Zarówno w pamięci, jak i na dysku. Zespół Databricks użył Sparka do wyzwania 100 TB Benchmark. To wyzwanie obejmuje przetwarzanie ogromnego, ale statycznego zestawu danych. Zespół był w stanie przetworzyć 100 TB danych przechowywanych na dysku SSD w zaledwie 23 minuty przy użyciu Sparka. Poprzedni zwycięzca zrobił to w 72 minuty za pomocą Hadoopa. Jeszcze lepsze jest to, że Spark dobrze radzi sobie z obsługą interaktywnych zapytań o dane przechowywane w pamięci. W takich sytuacjach Apache Spark jest uważany za 100 razy szybszy niż MapR.
  • Wsparcie: Jak powiedzieliśmy wcześniej, Apache Spark obsługuje większość znanych języków programowania, w tym Java, Python, Scala i R. Spark obejmuje również obsługę ścisłej integracji z wieloma systemami pamięci masowej, z wyjątkiem tylko HDFS. Co więcej, społeczność stojąca za Apache Spark jest ogromna, aktywna i międzynarodowa.
7 interesujących projektów Big Data, na które musisz uważać

Wniosek

Na tym kończymy ten wpis na blogu. Mamy nadzieję, że podobało Ci się poznawanie szczegółów dotyczących Apache Spark. Jeśli duże zestawy danych powodują przypływ adrenaliny, zalecamy zapoznanie się z Apache Spark i stanie się atutem!

Jeśli chcesz dowiedzieć się więcej o Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne praktyczne warsztaty, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.

Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Poprowadź rewolucję technologiczną opartą na danych

Zaawansowany program certyfikacji w Big Data z IIIT Bangalore