Wprowadzenie do Apache Spark. Otwarte oprogramowanie do przetwarzania danych.Wprowadzenie do Apache Spark. Otwarte oprogramowanie do przetwarzania danych.Wprowadzenie do Apache Spark. Otwarte oprogramowanie do przetwarzania danych.Wprowadzenie do Apache Spark. Otwarte oprogramowanie do przetwarzania danych.
  • Usługi
  • Klienci
  • Blog
  • Praca
  • O firmie
  • Kontakt
polski
  • angielski
✕

Wprowadzenie do Apache Spark. Otwarte oprogramowanie do przetwarzania danych.

16 stycznia 2018
Przetwarzanie danych Apache Spark - big data

Apache Spark  to platforma typu open-source do przetwarzania dużych ilości danych zbudowana na podstawie szybkości, łatwości użycia i zaawansowanej analityki. Pierwotnie została opracowana na UC Berkeley w 2009 roku. Jest to największy projekt o otwartym kodzie źródłowym w przetwarzaniu danych.

Apache Spark Logo

Historia Spark’a

Od momentu premiery Apache Spark jest szybko adaptowany przez przedsiębiorstwa z różnych branż. Internetowe potęgi, takie jak Netflix, Yahoo i eBay, wdrożyły Spark na masową skalę, wspólnie przetwarzając wiele petabajtów danych. Spark szybko stał się największą społecznością open source w dużych danych, z ponad 1000 współpracowników z ponad 250 organizacji.

Spark jest przeznaczony do nauki danych, a jego abstrakcja ułatwia naukę danych. Naukowcy zajmujący się danymi zwykle używają uczenia maszynowego – zestawu technik i algorytmów, które mogą uczyć się na danych. Algorytmy te są często iteracyjne, a zdolność Spark do buforowania zbioru danych w pamięci znacznie przyśpiesza takie wielokrotne przetwarzanie danych, co czyni Spark idealnym mechanizmem przetwarzania do implementacji takich algorytmów. Spark zawiera także bibliotekę MLlib, która zapewnia rosnący zestaw algorytmów maszynowych dla powszechnych technik nauki danych: klasyfikacja, regresja, filtrowanie grupowe, klastrowanie i redukcja wymiarów.

Komponenty Spark

Apache Spark Core

Spark Core to rdzeń i podstawowy silnik wykonawczy dla platformy, na której opiera się cała inna funkcjonalność. Zapewnia przetwarzanie w pamięci i tworzenie zestawień danych w zewnętrznych systemach pamięci masowej.

Spark SQL

Spark SQL jest głównym elementem Spark Core, który wprowadza dane nazwane SchemaRDD, które zapewniają obsługę danych strukturalnych i półstrukturalnych.

Spark Streaming

Spark Streaming wykorzystuje szybką zdolność planowania Spark Core do wykonywania analiz strumieniowych. Przechwytuje dane w mini-partiach i wykonuje transformacje RDD (Resilient Distributed Datasets) na tych mini-partiach danych.

MLlib (Machine Learning Library)

MLlib to biblioteka uczenia maszynowego, która udostępnia różne algorytmy zaprojektowane do skalowania w klastrze w celu klasyfikacji, regresji, grupowania, filtrowania grupowego itd.. Niektóre z tych algorytmów działają również z danymi strumieniowymi, takimi jak regresja liniowa wykorzystująca zwykłe najmniejsze kwadraty lub k-średnie (i więcej w drodze).

GraphX

GraphX ​​to rozproszone środowisko przetwarzania wykresów na Spark. Zapewnia interfejs API do wyrażania obliczeń graficznych, który może modelować wykresy zdefiniowane przez użytkownika za pomocą interfejsu API abstrakcji Pregel. Zapewnia również zoptymalizowane środowisko wykonawcze dla tej abstrakcji. Oprócz wbudowanych operacji manipulacji wykresami, zapewnia bibliotekę typowych algorytmów graficznych, takich jak PageRank.

Jakie są zalety Apache Spark?

 Prędkość

Zaprojektowany od podstaw dla wydajności, Spark może być 100 razy szybszy niż Hadoop do przetwarzania danych na dużą skalę poprzez wykorzystanie w obliczeniach pamięci i innych optymalizacjach. Spark jest również szybki, gdy dane są przechowywane na dysku, a obecnie posiada rekord świata do sortowania na dużą skalę na dysku.

Łatwość użycia

Spark ma łatwe w użyciu interfejsy API do obsługi dużych zbiorów danych. Obejmuje to zbiór ponad 100 operatorów do przekształcania danych i znanych interfejsów API ramek danych do manipulowania danymi półstrukturalnymi.

Ujednolicony silnik

Spark jest dostarczany z bibliotekami wyższego poziomu, w tym obsługą zapytań SQL, danych strumieniowych, uczenia maszynowego i przetwarzania wykresów. Te standardowe biblioteki zwiększają produktywność programistów i można je płynnie łączyć w celu tworzenia złożonych przepływów pracy.

Funkcje Spark

Szeroka gama bibliotek Spark i możliwość obliczania danych z wielu różnych typów magazynów danych oznacza, że Spark może być stosowany do wielu różnych problemów w wielu branżach. Firmy zajmujące się reklamą cyfrową wykorzystują je do przechowywania baz danych kampanii internetowych i kampanii projektowych dostosowanych do konkretnych klientów. Firmy finansowe wykorzystują je do spożywania danych finansowych i prowadzenia modeli, które mają na celu ukierunkowanie działalności inwestycyjnej. Firmy produkujące dobra konsumpcyjne wykorzystują je do agregowania danych klientów i prognozowania trendów, aby kierować decyzjami dotyczącymi inwentaryzacji i dostrzegać nowe możliwości rynkowe.

Spark obsługuje i pomaga w optymalizacji kroków w przepływach pracy przetwarzania danych. Zapewnia wyższy poziom API w celu poprawy wydajności programistów i spójny model architekta dla rozwiązań Big Data. Spark przechowuje wyniki pośrednie w pamięci, zamiast zapisywać je na dysku, co jest bardzo przydatne, szczególnie gdy trzeba wielokrotnie pracować nad tym samym zestawem danych. Został zaprojektowany jako silnik wykonawczy, który działa zarówno w pamięci, jak i na dysku. Operatory Spark wykonują operacje zewnętrzne, gdy dane nie mieszczą się w pamięci. Spark może być używany do przetwarzania zbiorów danych większych niż zasegregowana pamięć w klastrze.

Spark będzie próbował przechowywać tyle danych, ile ma pamięci, a następnie rozleje się na dysk. Może przechowywać część zbioru danych w pamięci i pozostałe dane na dysku. Dzięki temu przechowywaniu danych w pamięci Spark ma przewagę wydajności.

Inne funkcje Sparka to:

  • Obsługuje więcej niż tylko mapowanie i zmniejszanie funkcji.
  • Optymalizuje arbitralne wykresy operatora.
  • ocena zapytań big data, która pomaga w optymalizacji całego procesu przetwarzania danych.
  • Zapewnia zwięzłe i spójne interfejsy API w Scala, Java i Python.
  • Oferuje interaktywną powłokę dla Scali i Pythona. To nie jest jeszcze dostępne w Javie.

Spark jest napisany w języku programowania Scala i działa w środowisku Java Virtual Machine (JVM). Obecnie obsługuje następujące języki do tworzenia aplikacji za pomocą Spark: Scala, Java, Pyton, Clojure i R.

Szeroka gama bibliotek Spark i możliwość obliczania danych z wielu różnych typów magazynów danych oznacza, że Spark może być stosowany do wielu różnych problemów w wielu branżach. Firmy zajmujące się reklamą cyfrową wykorzystują je do przechowywania baz danych kampanii internetowych i kampanii projektowych dostosowanych do konkretnych klientów. Firmy finansowe wykorzystują je do spożywania danych finansowych i prowadzenia modeli w celu ukierunkowania działalności inwestycyjnej. Firmy produkujące dobra konsumpcyjne wykorzystują je do agregowania danych klientów i prognozowania trendów, aby kierować decyzjami dotyczącymi inwentaryzacji i dostrzegać nowe możliwości rynkowe.

Udostępnij
57
Piotr Chmiel
Piotr Chmiel
W branży IT od kilku lat, głównie zajmuję się SEO. Z dnia na dzień pogłębiam swoją wiedzę z obszaru IT tj. : Tworzenie stron, Wordpress, Machine Learning, SEO, Big Data itp. itd. Prywatnie amator koszykarz, basista, szachista i kucharz.

Podobne publikacje

blank
30 listopada 2022

Przyszłe trendy w analizie danych w 2023 roku


Dowiedz się więcej
blank
15 września 2022

Sztuczna inteligencja w generatorach obrazów


Dowiedz się więcej
blank
15 sierpnia 2022

Rola Data Science i Big Data w sporcie


Dowiedz się więcej

Szukaj na blogu

✕

Kategorie

  • Ecommerce
  • SEO
  • Software development
blank
Personalization, Recommendations, Messaging & User Testing in a Single Platform with a Single Tag implementation
Greenlogic Logo

Greenlogic - PolandPOLSKA
ul. Krupnicza 13
50-075 Wrocław
+48 505 020 036
[email protected]

Greenlogic - AustraliaAUSTRALIA
10a Mitford Street
3182 St. Kilda Melbourne
+61 490 235 843
[email protected]

Software House

  • Tworzenie oprogramowania
    • Aplikacje dedykowane Java
    • Machine learning
    • Big data dla ecommerce
    • Tworzenie stron internetowych WordPress
    • Sklepy internetowe WordPress + Woocommerce
    • Front end development
  • Projektowanie
    • Projektowanie usług
    • Projektowanie serwisów internetowych
    • Projektowanie aplikacji mobilnych (PWA)
    • Projektowanie i optymalizacja UX

Agencja Ecommerce

  • Badania i analiza danych
    • Doradztwo transakcyjne eCommerce
    • Analityka internetowa
    • Analiza on-page / off-page SEO
    • Badania UI / UX
  • Zwiększanie sprzedaży
    • Optymalizacja konwersji (CRO)
    • White Hat SEO
    • Content marketing
    • Online marketing

Greenlogic

  • O firmie
  • Blog
  • Polityka prywatności
  • Praca
  • Kontakt
© 2009- Greenlogic - Software House & Agencja Ecommerce

Sąd Rejonowy dla Wrocławia-Fabrycznej VI Wydział Gospodarczy KRS nr 0000602965. Kapitał zakładowy 50.000 zł opłacony w całości.

polski
  • polski
  • angielski