Apache Spark i Azure Synapse AnalyticsApache Spark in Azure Synapse Analytics

Apache Spark är ett ramverk för parallellbearbetning som stöder minnesintern bearbetning för att öka prestanda i program för stordataanalys.Apache Spark is a parallel processing framework that supports in-memory processing to boost the performance of big-data analytic applications. Apache Spark i Azure Synapse Analytics är en av Microsofts implementeringar av Apache Spark i molnet.Apache Spark in Azure Synapse Analytics is one of Microsoft's implementations of Apache Spark in the cloud. Med Azure Synapse kan du enkelt skapa och konfigurera en server lös Apache Spark pool i Azure.Azure Synapse makes it easy to create and configure a serverless Apache Spark pool in Azure. Spark-pooler i Azure Synapse är kompatibla med Azure Storage och Azure Data Lake generation 2-lagring.Spark pools in Azure Synapse are compatible with Azure Storage and Azure Data Lake Generation 2 Storage. Så du kan använda Spark-pooler för att bearbeta dina data som lagras i Azure.So you can use Spark pools to process your data stored in Azure.

Spark: ett enhetligt ramverk

Vad är Apache SparkWhat is Apache Spark

Apache Spark innehåller primitiver för minnes intern kluster användning.Apache Spark provides primitives for in-memory cluster computing. Ett Spark-jobb kan läsa in och cachelagra data i minnet och köra frågor mot det upprepade gånger.A Spark job can load and cache data into memory and query it repeatedly. Minnesintern databearbetning är mycket snabbare än diskbaserade program.In-memory computing is much faster than disk-based applications. Spark integreras också med flera programmeringsspråk så att du kan manipulera distribuerade data uppsättningar som lokala samlingar.Spark also integrates with multiple programming languages to let you manipulate distributed data sets like local collections. Det finns inget behov av att strukturera det hela i mappnings- och reduceringsåtgärder.There's no need to structure everything as map and reduce operations.

Traditionell MapReduce vs. Spark

Spark-pooler i Azure Synapse erbjuder en fullständigt hanterad Spark-tjänst.Spark pools in Azure Synapse offer a fully managed Spark service. Fördelarna med att skapa en spark-pool i Azure Synapse Analytics visas här.The benefits of creating a Spark pool in Azure Synapse Analytics are listed here.

FunktionFeature BeskrivningDescription
Hastighet och effektivitetSpeed and efficiency Spark-instanser startar på ungefär 2 minuter för färre än 60 noder och ungefär 5 minuter för fler än 60 noder.Spark instances start in approximately 2 minutes for fewer than 60 nodes and approximately 5 minutes for more than 60 nodes. Instansen stängs av som standard, 5 minuter efter det senaste jobbet som utförts om det inte hålls alivet av en Notebook-anslutning.The instance shuts down, by default, 5 minutes after the last job executed unless it is kept alive by a notebook connection.
Enkelt att skapaEase of creation Du kan skapa en ny Spark-pool i Azure Synapse på bara några minuter med hjälp av Azure Portal, Azure PowerShell eller Synapse Analytics .NET SDK.You can create a new Spark pool in Azure Synapse in minutes using the Azure portal, Azure PowerShell, or the Synapse Analytics .NET SDK. Se Kom igång med Spark-pooler i Azure Synapse Analytics.See Get started with Spark pools in Azure Synapse Analytics.
Enkel att användaEase of use Synapse Analytics innehåller en anpassad Notebook som härletts från nteract.Synapse Analytics includes a custom notebook derived from Nteract. Du kan de här anteckningsböckerna för interaktiv databehandling och visualisering.You can use these notebooks for interactive data processing and visualization.
REST API:erREST APIs Spark i Azure Synapse Analytics innehåller Apache livy, en REST API-baserad Spark-jobbiljett för att skicka och övervaka jobb på distans.Spark in Azure Synapse Analytics includes Apache Livy, a REST API-based Spark job server to remotely submit and monitor jobs.
Stöd för Azure Data Lake Storage generation 2Support for Azure Data Lake Storage Generation 2 Spark-pooler i Azure Synapse kan använda Azure Data Lake Storage generation 2 och BLOB Storage.Spark pools in Azure Synapse can use Azure Data Lake Storage Generation 2 as well as BLOB storage. Mer information om Data Lake Storage finns i Översikt över Azure Data Lake Storage.For more information on Data Lake Storage, see Overview of Azure Data Lake Storage.
Integrering med tredje parts IDEsIntegration with third-party IDEs Azure Synapse tillhandahåller ett IDE-plugin-program för JetBrains "IntelliJ-idé som är användbar för att skapa och skicka program till en spark-pool.Azure Synapse provides an IDE plugin for JetBrains' IntelliJ IDEA that is useful to create and submit applications to a Spark pool.
Förinstallerade Anaconda-bibliotekPre-loaded Anaconda libraries Spark-pooler i Azure Synapse levereras med Anaconda-bibliotek förinstallerade.Spark pools in Azure Synapse come with Anaconda libraries pre-installed. Anaconda innehåller närmare 200 bibliotek för Machine Learning, dataanalys, visualisering med mera.Anaconda provides close to 200 libraries for machine learning, data analysis, visualization, etc.
SkalbarhetScalability Apache Spark i Azure Synapse-pooler kan aktivera automatisk skalning, så att pooler skalas genom att lägga till eller ta bort noder efter behov.Apache Spark in Azure Synapse pools can have Auto-Scale enabled, so that pools scale by adding or removing nodes as needed. Dessutom kan Spark-pooler avslutas utan dataförlust eftersom alla data lagras i Azure Storage eller Data Lake Storage.Also, Spark pools can be shut down with no loss of data since all the data is stored in Azure Storage or Data Lake Storage.

Spark-pooler i Azure Synapse innehåller följande komponenter som är tillgängliga på pooler som standard.Spark pools in Azure Synapse include the following components that are available on the pools by default.

Arkitektur för Spark-poolSpark pool architecture

Det är enkelt att förstå komponenterna i Spark genom att förstå hur Spark körs på Azure Synapse Analytics.It is easy to understand the components of Spark by understanding how Spark runs on Azure Synapse Analytics.

Spark-program körs som oberoende uppsättningar av processer i en pool, koordineras av SparkContext-objektet i huvud programmet (kallas driv rutins program).Spark applications run as independent sets of processes on a pool, coordinated by the SparkContext object in your main program (called the driver program).

SparkContext kan ansluta till kluster hanteraren, som allokerar resurser mellan program.The SparkContext can connect to the cluster manager, which allocates resources across applications. Kluster hanteraren är Apache HADOOP garn.The cluster manager is Apache Hadoop YARN. När en anslutning har upprättats skaffar Spark körningar på noder i poolen, som är processer som kör beräkningar och lagrar data för ditt program.Once connected, Spark acquires executors on nodes in the pool, which are processes that run computations and store data for your application. Därefter skickar den din programkod (definieras av JAR- eller Python-filer som överförts till SparkContext) till exekverarna.Next, it sends your application code (defined by JAR or Python files passed to SparkContext) to the executors. Slutligen skickar SparkContext uppgifter till de exekverare som ska köras.Finally, SparkContext sends tasks to the executors to run.

SparkContext kör användarens huvud funktion och kör de olika parallella åtgärderna på noderna.The SparkContext runs the user's main function and executes the various parallel operations on the nodes. Drivrutinen samlar sedan in åtgärdernas resultat.Then, the SparkContext collects the results of the operations. Noderna läser och skriver data från och till fil systemet.The nodes read and write data from and to the file system. Noderna cachelagrar också transformerade data i minnet som elastiska distribuerade data uppsättningar (RDD).The nodes also cache transformed data in-memory as Resilient Distributed Datasets (RDDs).

SparkContext ansluter till Spark-poolen och ansvarar för att konvertera ett program till ett dirigerat acykliska diagram (DAG).The SparkContext connects to the Spark pool and is responsible for converting an application to a directed acyclic graph (DAG). Grafen består av enskilda uppgifter som körs i en utförar-process på noderna.The graph consists of individual tasks that get executed within an executor process on the nodes. Varje applikation får en egen körningsprocess som förblir aktiv under applikationens livslängd och kör uppgifter i flera trådar.Each application gets its own executor processes, which stay up for the duration of the whole application and run tasks in multiple threads.

Apache Spark i användnings fall i Azure Synapse AnalyticsApache Spark in Azure Synapse Analytics use cases

Spark-pooler i Azure Synapse Analytics aktiverar följande viktiga scenarier:Spark pools in Azure Synapse Analytics enable the following key scenarios:

Data teknik/data förberedelseData Engineering/Data Preparation

Apache Spark innehåller många språk funktioner som stöder förberedelse och bearbetning av stora data volymer så att det kan göras mer värdefullt och sedan konsumeras av andra tjänster i Azure Synapse Analytics.Apache Spark includes many language features to support preparation and processing of large volumes of data so that it can be made more valuable and then consumed by other services within Azure Synapse Analytics. Detta är aktiverat via flera språk (C#, Scala, PySpark, Spark SQL) och tillhandahållna bibliotek för bearbetning och anslutning.This is enabled through multiple languages (C#, Scala, PySpark, Spark SQL) and supplied libraries for processing and connectivity.

Machine LearningMachine Learning

Apache Spark levereras med MLlib, ett maskin inlärnings bibliotek som byggts ovanpå Spark och som du kan använda från en spark-pool i Azure Synapse Analytics.Apache Spark comes with MLlib, a machine learning library built on top of Spark that you can use from a Spark pool in Azure Synapse Analytics. Spark-pooler i Azure Synapse Analytics innehåller även Anaconda, en python-distribution med en rad olika paket för data vetenskap, inklusive Machine Learning.Spark pools in Azure Synapse Analytics also include Anaconda, a Python distribution with a variety of packages for data science including machine learning. När detta kombineras med inbyggt stöd för notebook-filer har du en miljö där du kan skapa maskininlärningsprogram.When combined with built-in support for notebooks, you have an environment for creating machine learning applications.

Var börjar jagWhere do I start

Använd följande artiklar för att lära dig mer om Apache Spark i Azure Synapse Analytics:Use the following articles to learn more about Apache Spark in Azure Synapse Analytics:

Anteckning

En del av den officiella Apache Spark dokumentationen är beroende av att använda Spark-konsolen, detta är inte tillgängligt på Azure Synapse Spark, Använd Notebook-eller IntelliJ-upplevelsen iställetSome of the official Apache Spark documentation relies on using the spark console, this is not available on Azure Synapse Spark, use the notebook or IntelliJ experiences instead

Nästa stegNext steps

I den här översikten får du en grundläggande förståelse för Apache Spark i Azure Synapse Analytics.In this overview, you get a basic understanding of Apache Spark in Azure Synapse Analytics. Fortsätt till nästa artikel och lär dig hur du skapar en spark-pool i Azure Synapse Analytics:Advance to the next article to learn how to create a Spark pool in Azure Synapse Analytics: