Apache Spark w usłudze Azure Synapse Analytics

Apache Spark to platforma przetwarzania równoległego, która obsługuje przetwarzanie w pamięci w celu zwiększenia wydajności aplikacji analitycznych danych big data. Platforma Apache Spark w usłudze Azure Synapse Analytics jest jedną z implementacji platformy Apache Spark firmy Microsoft w chmurze. Usługa Azure Synapse ułatwia tworzenie i konfigurowanie bezserwerowej puli platformy Apache Spark na platformie Azure. Pule platformy Spark w usłudze Azure Synapse są zgodne z usługami Azure Storage i Azure Data Lake Generation 2 Storage. Dzięki temu można używać pul platformy Spark do przetwarzania danych przechowywanych na platformie Azure.

Diagram shows Spark SQL, Spark MLib, and GraphX linked to the Spark core engine, above a YARN layer over storage services.

Co to jest platforma Apache Spark

Platforma Apache Spark udostępnia elementy pierwotne na potrzeby przetwarzania w klastrze 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żliwić manipulowanie rozproszonymi zestawami danych, takimi jak kolekcje lokalne. Nie ma potrzeby, aby wszystkie elementy były obejmowane strukturami operacji mapowania i redukcji.

Diagram shows Traditional MapReduce, with disk-based apps and Spark, with cache-based operations.

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

Cecha Opis
Szybkość i wydajność Wystąpienia platformy Spark są uruchamiane w ciągu około 2 minut przez mniej niż 60 węzłów i około 5 minut przez ponad 60 węzłów. Wystąpienie jest domyślnie zamykane, 5 minut po uruchomieniu ostatniego zadania, chyba że będzie aktywne przez połączenie notesu.
Łatwość tworzenia Nową pulę platformy Spark można utworzyć w usłudze Azure Synapse w ciągu kilku minut przy użyciu witryny Azure Portal, programu Azure PowerShell lub zestawu SDK platformy .NET usługi Synapse Analytics. Zobacz Rozpoczynanie pracy z pulami platformy Spark w usłudze Azure Synapse Analytics.
Łatwość użycia Usługa Synapse Analytics zawiera notes niestandardowy pochodzący z narzędzia nteract. Można ich używać do interakcyjnego przetwarzania danych i wizualizacji.
Interfejsy API REST Platforma Spark w usłudze Azure Synapse Analytics obejmuje usługę Apache Livy, oparty na interfejsie API REST serwer zadań platformy Spark do zdalnego przesyłania i monitorowania zadań.
Obsługa usługi Azure Data Lake Storage Generation 2 Pule platformy Spark w usłudze Azure Synapse mogą używać usług Azure Data Lake Storage Generation 2 i BLOB Storage. 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 Usługa 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 w usłudze Azure Synapse są dostarczane ze wstępnie zainstalowanymi bibliotekami Anaconda. Platforma Anaconda udostępnia blisko 200 bibliotek do uczenia maszynowego, analizy danych, wizualizacji i innych technologii.
Skalowalność Platforma Apache Spark w pulach usługi Azure Synapse może mieć włączoną funkcję automatycznego skalowania, dzięki czemu pule można skalować, dodając lub usuwając węzły 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 w usłudze Azure Synapse obejmują następujące składniki, które są domyślnie dostępne w pulach:

Architektura puli platformy Spark

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

Program SparkContext może łączyć się z menedżerem klastra, który przydziela zasoby między aplikacjami. Menedżer klastra to Apache Hadoop YARN. Po nawiązaniu połączenia platforma Spark uzyskuje funkcje wykonawcze w węzłach w puli, które są procesami, które uruchamiają obliczenia i przechowują dane dla aplikacji. Następnie wysyła kod aplikacji zdefiniowany przez pliki JAR lub Python przekazane do SparkContextfunkcji wykonawczej. SparkContext Na koniec wysyła zadania do funkcji wykonawczych do uruchomienia.

Polecenie SparkContext uruchamia funkcję główną użytkownika i wykonuje różne operacje równoległe w węzłach. Następnie program SparkContext zbiera 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ą Spark i jest odpowiedzialny za konwertowanie aplikacji na skierowany graf acykliczny (DAG). Graf składa się z poszczególnych zadań uruchamianych w ramach procesu wykonawczego w węzłach. Każda aplikacja pobiera własne procesy wykonawcze, które pozostają w trakcie całej aplikacji i uruchamiają zadania w wielu wątkach.

Apache Spark w przypadkach użycia usługi Azure Synapse Analytics

Pule platformy Spark w usłudze Azure Synapse Analytics umożliwiają realizację następujących kluczowych scenariuszy:

  • Inżynieria danych/Przygotowywanie danych

    Platforma Apache Spark zawiera funkcje językowe do obsługi przygotowywania i przetwarzania dużych ilości danych, dzięki czemu mogą być bardziej cenne, a następnie używane przez inne usługi w usłudze Azure Synapse Analytics. Takie podejście jest włączane za pośrednictwem wielu języków, w tym C#, Scala, PySpark i Spark SQL, oraz biblioteki dostarczane do przetwarzania i łączności.

  • Usługa Machine Learning

    Platforma Apache Spark jest dostarczana z biblioteką MLlib, biblioteką uczenia maszynowego utworzoną na bazie platformy Spark, której można użyć z puli Spark w usłudze Azure Synapse Analytics. Pule platformy Spark w usłudze Azure Synapse Analytics obejmują również platformę Anaconda, dystrybucję języka Python z różnymi pakietami na potrzeby nauki o danych, w tym uczenia maszynowego. W połączeniu z wbudowaną obsługą notesów zyskujesz środowisko do tworzenia aplikacji do uczenia maszynowego.

Gdzie mogę rozpocząć

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

Uwaga

Niektóre z oficjalnych dokumentacji platformy Apache Spark polegają na użyciu konsoli Spark, która nie jest dostępna w usłudze Azure Synapse Spark. Zamiast tego użyj notesu lub środowiska IntelliJ.

Następne kroki

To omówienie zawiera podstawową wiedzę na temat platformy Apache Spark w usłudze Azure Synapse Analytics. Przejdź do następnego artykułu, aby dowiedzieć się, jak utworzyć pulę platformy Spark w usłudze Azure Synapse Analytics: