Apache Spark w usłudze Azure Synapse Analytics

Apache Spark jest platformą przetwarzania równoległego, która obsługuje przetwarzanie w pamięci w celu zwiększania wydajności aplikacji do analizy danych big data. Apache Spark w Azure Synapse Analytics jest jedną z implementacji rozwiązań firmy Microsoft Apache Spark w chmurze. Azure Synapse ułatwia tworzenie i konfigurowanie bez serwera puli Apache Spark na platformie Azure. Pule platformy Spark w Azure Synapse są zgodne z usługami Azure Storage i Azure Data Lake Generation 2 Storage. Dzięki czemu można używać pul platformy Spark do przetwarzania danych przechowywanych na platformie Azure.

Platforma Spark: ujednolicona struktura

Co to jest Apache Spark

Apache Spark udostępnia typy pierwotne do przetwarzania klastrów w pamięci. Zadanie Spark może ładować i buforować dane w pamięci, a następnie wielokrotnie wykonywać zapytania względem tych danych. Przetwarzanie w pamięci jest znacznie szybsze niż w przypadku aplikacji opartych na dyskach. Platforma Spark integruje się również z wieloma językami programowania, aby umożliwiać manipulowanie rozproszonymi zestawami danych, na przykład kolekcjami lokalnymi. Nie ma potrzeby, aby wszystkie elementy były obejmowane strukturami operacji mapowania i redukcji.

Tradycyjne MapReduce a Spark

Pule platformy Spark w Azure Synapse oferują w pełni zarządzaną usługę Spark. Korzyści wynikające z tworzenia puli platformy Spark w Azure Synapse Analytics są wymienione tutaj.

Cecha Opis
Szybkość i wydajność Wystąpienia platformy Spark rozpoczynają się w ciągu około 2 minut dla mniej niż 60 węzłów i około 5 minut w przypadku ponad 60 węzłów. Wystąpienie jest domyślnie zamykane 5 minut po ostatnim wykonaniu zadania, chyba że jest ono aktywne przez połączenie notesu.
Łatwość tworzenia Nową pulę Spark można utworzyć w ciągu Azure Synapse minut przy użyciu Azure Portal, Azure PowerShell lub zestawu SDK platformy .NET Synapse Analytics. Zobacz Rozpoczynanie pracy z pulami platformy Spark w Azure Synapse Analytics.
Łatwość użycia Synapse Analytics notes niestandardowy pochodzący z aplikacji Nteract. Można ich używać do interakcyjnego przetwarzania danych i wizualizacji.
Interfejsy API REST Platforma Spark w Azure Synapse Analytics zawiera usługę Apache Livy— oparty na interfejsie API REST serwer zadań Spark do zdalnego przesyłania i monitorowania zadań.
Obsługa usługi Azure Data Lake Storage generacji 2 Pule platformy Spark w Azure Synapse mogą używać usługi Azure Data Lake Storage generacji 2 oraz magazynu obiektów blob. Aby uzyskać więcej informacji o usłudze Data Lake Storage, zobacz temat Przegląd usługi Azure Data Lake Storage.
Integracja ze zintegrowanymi środowiskami projektowymi innych firm Azure Synapse udostępnia wtyczkę IDE dla środowiska IntelliJ IDEA firmy JetBrains, która jest przydatna do tworzenia i przesyłania aplikacji do puli platformy Spark.
Wstępnie załadowane biblioteki Anaconda Pule platformy Spark Azure Synapse są ze wstępnie zainstalowanymi bibliotekami Anaconda. Platforma Anaconda dostarcza prawie 200 bibliotek do uczenia maszynowego, analizy danych, wizualizacji itp.
Skalowalność Apache Spark pulach Azure Synapse mogą mieć włączoną funkcję automatycznego skalowania, dzięki czemu pule są skalowane przez dodawanie lub usuwanie węzłów zgodnie z potrzebami. Ponadto pule platformy Spark można wyłączyć bez utraty danych, ponieważ wszystkie dane są przechowywane w usłudze Azure Storage lub Data Lake Storage.

Pule platformy Spark Azure Synapse obejmują następujące składniki, które są domyślnie dostępne w pulach.

Architektura puli platformy Spark

Składniki platformy Spark można łatwo zrozumieć, zrozumienie sposobu, w jaki platforma Spark działa na Azure Synapse Analytics.

Aplikacje platformy Spark działają jako niezależne zestawy procesów w puli, koordynowane przez obiekt SparkContext w głównym programie (nazywanym programem sterowników).

Aplikacja SparkContext może nawiązać połączenie z menedżerem klastra, który przydziela zasoby między aplikacjami. Menedżerem klastra jest Apache Hadoop YARN. Po na połączeniu platforma Spark uzyskuje funkcji wykonywania w węzłach w puli, czyli procesach, które uruchamiają obliczenia i przechowują dane dla aplikacji. Następnie platforma Spark wysyła kod aplikacji (zdefiniowany przez pliki JAR lub Python przekazywane do obiektu SparkContext) do funkcji wykonawczych. Na koniec obiekt SparkContext wysyła do funkcji wykonawczych zadania do uruchomienia.

Element SparkContext uruchamia funkcję main użytkownika i wykonuje różne operacje równoległe w węzłach. Następnie pobiera wyniki operacji. Węzły odczytują i zapisują dane z i do systemu plików. Węzły buforują również przekształcone dane w pamięci jako odporne rozproszone zestawy danych (RDD).

Element SparkContext łączy się z pulą platformy Spark i jest odpowiedzialny za konwertowanie aplikacji na skierowany graf acykliczny (DAG). Wykres składa się z poszczególnych zadań wykonywanych w ramach procesu wykonywania w węzłach. Poszczególne aplikacje uzyskują własne procesy wykonawcze, które istnieją przez cały czas działania aplikacji i pozwalają uruchamiać zadania w wielu wątkach.

Apache Spark w Azure Synapse Analytics przypadków użycia

Pule platformy Spark w Azure Synapse Analytics umożliwiają następujące kluczowe scenariusze:

Inżynieria danych/przygotowywanie danych

Apache Spark zawiera wiele funkcji językowych do obsługi przygotowywania i przetwarzania dużych ilości danych, dzięki czemu mogą one być bardziej wartościowe, a następnie wykorzystywane przez inne usługi w Azure Synapse Analytics. Ta funkcja jest włączana za pomocą wielu języków (C#, Scala, PySpark, Spark SQL) i dostarczanych bibliotek do przetwarzania i łączności.

Usługa Machine Learning

Apache Spark jest dostarczany z biblioteką MLlib, czyli biblioteką uczenia maszynowego zbudowaną na podstawie platformy Spark, z których można korzystać z puli Platformy Spark w Azure Synapse Analytics. Pule platformy Spark w Azure Synapse Analytics obejmują również anaconda, dystrybucję języka Python z różnymi pakietami do nauki o danych, w tym uczenia maszynowego. W połączeniu z wbudowaną obsługą notesów zyskujesz środowisko do tworzenia aplikacji do uczenia maszynowego.

Od czego zacząć

Skorzystaj z następujących artykułów, aby dowiedzieć się więcej o Apache Spark w Azure Synapse Analytics:

Uwaga

Niektóre oficjalne dokumenty Apache Spark korzystają z konsoli platformy Spark. Nie jest ona dostępna na Azure Synapse Spark. Zamiast tego należy użyć notesu lub funkcji IntelliJ

Następne kroki

W tym przeglądzie przedstawiono podstawową wiedzę na temat Apache Spark w Azure Synapse Analytics. W następnym artykule dowiesz się, jak utworzyć pulę platformy Spark w Azure Synapse Analytics: