Mi az az Azure HDInsight-alapú Apache Spark?What is Apache Spark in Azure HDInsight

A Apache Spark egy párhuzamos feldolgozási keretrendszer, amely támogatja a memóriabeli feldolgozást a Big-adatanalitikai alkalmazások teljesítményének növelése érdekében.Apache Spark is a parallel processing framework that supports in-memory processing to boost the performance of big-data analytic applications. Az Azure HDInsight-alapú Apache Spark az Apache Spark felhőbeli megvalósítása, a Microsoft terméke.Apache Spark in Azure HDInsight is the Microsoft implementation of Apache Spark in the cloud. A HDInsight segítségével leegyszerűsíthető a Spark-fürtök létrehozása és konfigurálása az Azure-ban.HDInsight makes it easier to create and configure a Spark cluster in Azure. A HDInsight-alapú Spark-fürtök kompatibilisek az Azure Blob Storage, a Azure Data Lake Storage Gen1vagy a Azure Data Lake Storage Gen2.Spark clusters in HDInsight are compatible with Azure Blob storage, Azure Data Lake Storage Gen1, or Azure Data Lake Storage Gen2. A HDInsight-alapú Spark-fürtök segítségével tehát elvégezheti az Azure-ban tárolt adatok feldolgozását.So you can use HDInsight Spark clusters to process your data stored in Azure. Az összetevők és a verziószámozási információk: Apache Hadoop összetevők és verziók az Azure HDInsight-ben.For the components and the versioning information, see Apache Hadoop components and versions in Azure HDInsight.

Spark: egyesített keretrendszer

Mi az az Apache Spark?What is Apache Spark?

a Spark alapelemeket nyújt a memórián belüli fürtszámításhoz.Spark provides primitives for in-memory cluster computing. A Spark-feladatokkal az adatok betölthetők és gyorsítótárazhatók a memóriába, majd ismétlődő jelleggel lekérdezhetők.A Spark job can load and cache data into memory and query it repeatedly. A memórián belüli számítástechnika sokkal gyorsabb, mint a lemezes alkalmazások, például a Hadoop, amelyek az Hadoop elosztott fájlrendszeren (HDFS) keresztül osztják meg az adatmegosztást.In-memory computing is much faster than disk-based applications, such as Hadoop, which shares data through Hadoop distributed file system (HDFS). A Spark a Scala programozási nyelvbe is integrálható, így a helyi gyűjteményekhez hasonlóan módosíthatja az elosztott adatkészleteket.Spark also integrates into the Scala programming language to let you manipulate distributed data sets like local collections. Nem kell mindent térképként rendszerezni és csökkenteni a műveletek számát.There's no need to structure everything as map and reduce operations.

Hagyományos MapReduce vs. Spark

A HDInsight-alapú Spark-fürtök teljes körűen felügyelt Spark szolgáltatást nyújtanak.Spark clusters in HDInsight offer a fully managed Spark service. A HDInsight-alapú Spark-fürt létrehozásának előnyeit ez a lista foglalja össze.Benefits of creating a Spark cluster in HDInsight are listed here.

SzolgáltatásFeature LeírásDescription
Könnyű létrehozásEase creation Az Azure Portal, az Azure PowerShell vagy a HDInsight .NET SDK használatával percek alatt létrehozható egy új Spark-fürt a HDInsight platformon.You can create a new Spark cluster in HDInsight in minutes using the Azure portal, Azure PowerShell, or the HDInsight .NET SDK. Lásd: Ismerkedés a Apache Spark-fürttel a HDInsight-ben.See Get started with Apache Spark cluster in HDInsight.
Egyszerű használatEase of use A HDInsight-beli Spark-fürt tartalmazza a Jupyter-jegyzetfüzeteket és az Apache Zeppelin-jegyzetfüzeteket.Spark cluster in HDInsight include Jupyter Notebooks and Apache Zeppelin Notebooks. Ezeket a notebookokat interaktív adatfeldolgozásra és -vizualizációra használhatja.You can use these notebooks for interactive data processing and visualization. Lásd: az Apache Zeppelin notebookok használata a Apache Spark és az adatbetöltések és lekérdezések futtatása Apache Spark fürtön.See Use Apache Zeppelin notebooks with Apache Spark and Load data and run queries on an Apache Spark cluster.
REST API-kREST APIs A HDInsight-beli Spark-fürtök közé tartozik az Apache Livy, egy REST API-alapú Spark-feladat, amely a feladatok távoli elküldésére és figyelésére szolgál.Spark clusters in HDInsight include Apache Livy, a REST API-based Spark job server to remotely submit and monitor jobs. Lásd: Apache Spark REST API használata távoli feladatok HDInsight Spark-fürtbe való küldéséhez.See Use Apache Spark REST API to submit remote jobs to an HDInsight Spark cluster.
Azure Storage-támogatásSupport for Azure Storage A HDInsight-alapú Spark-fürtök a Azure Data Lake Storage Gen1/Gen2 is használhatják elsődleges tárolóként vagy további tárolóként.Spark clusters in HDInsight can use Azure Data Lake Storage Gen1/Gen2 as both the primary storage or additional storage. További információ a Data Lake Storage Gen1ről: Azure Data Lake Storage Gen1.For more information on Data Lake Storage Gen1, see Azure Data Lake Storage Gen1. További információ a Data Lake Storage Gen2ről: Azure Data Lake Storage Gen2.For more information on Data Lake Storage Gen2, see Azure Data Lake Storage Gen2.
Integráció az Azure-szolgáltatásokkalIntegration with Azure services A HDInsight-alapú Spark-fürt Azure Event Hubs-összekötőt is tartalmaz.Spark cluster in HDInsight comes with a connector to Azure Event Hubs. A Event Hubs használatával adatfolyam-alkalmazásokat hozhat létre.You can build streaming applications using the Event Hubs. Beleértve a Apache Kafka, amely már elérhető a Spark részeként.Including Apache Kafka, which is already available as part of Spark.
ML Server-támogatásSupport for ML Server Az ML Server HDInsighton belüli támogatását az ML-szolgáltatási fürttípus biztosítja.Support for ML Server in HDInsight is provided as the ML Services cluster type. Az ML-szolgáltatások fürtjei elosztott R-számítások futtatására állíthatók be a Spark-fürtre jellemző sebesség mellett.You can set up an ML Services cluster to run distributed R computations with the speeds promised with a Spark cluster. További információ: Mi az a ml Services az Azure HDInsight-ben.For more information, see What is ML Services in Azure HDInsight.
Integráció külső integrált fejlesztői környezetekkel (IDE)Integration with third-party IDEs A HDInsight számos olyan IDE beépülő modult biztosít, amely alkalmazások létrehozásához és egy HDInsight Spark-fürt számára történő elküldéséhez bizonyulhat hasznosnak.HDInsight provides several IDE plugins that are useful to create and submit applications to an HDInsight Spark cluster. További információ: use Azure TOOLKIT for INTELLIJ Idea (Spark & kaptár Tools for VSCode) és a Azure Toolkit for Eclipse használata.For more information, see Use Azure Toolkit for IntelliJ IDEA, Use Spark & Hive Tools for VSCode, and Use Azure Toolkit for Eclipse.
Egyidejű lekérdezésekConcurrent Queries A HDInsight-alapú Spark-fürtök támogatják az egyidejű lekérdezéseket.Spark clusters in HDInsight support concurrent queries. E képesség révén lehetővé válik, hogy az egyetlen, illetve a több felhasználótól és alkalmazástól származó több lekérdezés ugyanazokat a fürterőforrásokat használja.This capability enables multiple queries from one user or multiple queries from various users and applications to share the same cluster resources.
Gyorsítótárazás SSD meghajtókonCaching on SSDs Az adatok gyorsítótárazása történhet a memóriában vagy a fürtcsomópontokhoz kapcsolt SSD meghajtókon is.You can choose to cache data either in memory or in SSDs attached to the cluster nodes. A memóriában történő gyorsítótárazás biztosítja a legjobb lekérdezési teljesítményt, ugyanakkor drága lehet.Caching in memory provides the best query performance but could be expensive. Az SSD-meghajtókon történő gyorsítótárazással viszont úgy javítható hatékonyan a lekérdezési teljesítmény, hogy ahhoz nincs szükség a memória teljes adatkészletéhez igazodó méretű fürt létrehozására.Caching in SSDs provides a great option for improving query performance without the need to create a cluster of a size that is required to fit the entire dataset in memory. Lásd: Apache Spark számítási feladatok teljesítményének javítása az Azure HDINSIGHT IO cache használatával.See Improve performance of Apache Spark workloads using Azure HDInsight IO Cache.
Integráció BI-eszközökkelIntegration with BI Tools A HDInsight-alapú Spark-fürtök összekötőket biztosítanak az olyan adatelemző BI-eszközök számára, mint a Power BI.Spark clusters in HDInsight provide connectors for BI tools such as Power BI for data analytics.
Előre betöltött Anaconda-könyvtárakPre-loaded Anaconda libraries A HDInsight-alapú Spark-fürtök előre telepített Anaconda-könyvtárakkal rendelkeznek.Spark clusters in HDInsight come with Anaconda libraries pre-installed. Az anaconda a gépi tanuláshoz, az adatelemzéshez, a vizualizációhoz és egyebekhez közelítő 200-kódtárat biztosít.Anaconda provides close to 200 libraries for machine learning, data analysis, visualization, and so on.
AlkalmazkodóképességAdaptability A HDInsight lehetővé teszi a fürtcsomópontok számának dinamikus módosítását az autoscale funkció használatával.HDInsight allows you to change the number of cluster nodes dynamically with the Autoscale feature. Lásd: az Azure HDInsight-fürtök automatikus méretezése.See Automatically scale Azure HDInsight clusters. Emellett a Spark-fürtöket nem lehet adatvesztés nélkül eldobni, mert az összes adatmennyiség az Azure Blob Storage-ban, Azure Data Lake Storage Gen1 vagy Azure Data Lake Storage Gen2bantárolódik.Also, Spark clusters can be dropped with no loss of data since all the data is stored in Azure Blob storage, Azure Data Lake Storage Gen1 or Azure Data Lake Storage Gen2.
SLASLA A HDInsight-alapú Spark-fürtökhöz a hét minden napján 24 órás ügyfélszolgálat, valamint az SLA által garantált 99,9%-os üzemidő jár.Spark clusters in HDInsight come with 24/7 support and an SLA of 99.9% up-time.

A HDInsight Apache Spark-fürtök a következő összetevőket tartalmazzák, amelyek alapértelmezés szerint a fürtökön elérhetők.Apache Spark clusters in HDInsight include the following components that are available on the clusters by default.

A HDInsight Spark-fürtök egy ODBC-illesztőt biztosítanak a BI-eszközök, például a Microsoft Power bi közötti kapcsolathoz.HDInsight Spark clusters an ODBC driver for connectivity from BI tools such as Microsoft Power BI.

Spark-fürtarchitektúraSpark cluster architecture

A HDInsight Spark architektúrája

Könnyen megismerheti a Spark összetevőit azzal, hogy megértette, hogyan fut a Spark a HDInsight-fürtökön.It's easy to understand the components of Spark by understanding how Spark runs on HDInsight clusters.

A Spark-alkalmazások különálló folyamatokként futnak a fürtön.Spark applications run as independent sets of processes on a cluster. A fő program SparkContext objektuma (az illesztőprogram-program) koordinálja.Coordinated by the SparkContext object in your main program (called the driver program).

A SparkContext több típusú fürthöz is csatlakozhat, amelyek erőforrásaikat biztosítanak az alkalmazások között.The SparkContext can connect to several types of cluster managers, which give resources across applications. Ezek a fürtcsomópontok az Apache Mesos, a Apache Hadoop a fonal vagy a Spark cluster Manager alkalmazást tartalmazzák.These cluster managers include Apache Mesos, Apache Hadoop YARN, or the Spark cluster manager. A HDInsightban a Spark a YARN fürtkezelő segítségével fut.In HDInsight, Spark runs using the YARN cluster manager. A csatlakoztatást követően a Spark beszerzi a fürt feldolgozó csomópontjainak végrehajtóit. E folyamatok számítások futtatását és adatok tárolását végzik az alkalmazás számára.Once connected, Spark acquires executors on workers nodes in the cluster, which are processes that run computations and store data for your application. Ezt követően a Spark elküldi az alkalmazás kódját a végrehajtóknak. A kódot a SparkContext objektum számára átadott JAR- vagy Python-fájlok határozzák meg.Next, it sends your application code (defined by JAR or Python files passed to SparkContext) to the executors. Végül a SparkContext objektum elküldi futtatásra a feladatokat a végrehajtóknak.Finally, SparkContext sends tasks to the executors to run.

A SparkContext objektum futtatja a felhasználó fő funkcióját, és végrehajtja a különféle párhuzamos műveleteket a feldolgozó csomópontokon.The SparkContext runs the user's main function and executes the various parallel operations on the worker nodes. Ezután a SparkContext objektum összegyűjti a műveletek eredményeit.Then, the SparkContext collects the results of the operations. A feldolgozó csomópontok a és a Hadoop elosztott fájlrendszerből származó adatok olvasását és írását.The worker nodes read and write data from and to the Hadoop distributed file system. A feldolgozó csomópontok a memóriában lévő átalakított adatokat is gyorsítótárazzák rugalmas elosztott adatkészletekként (RDD-kként).The worker nodes also cache transformed data in-memory as Resilient Distributed Datasets (RDDs).

A SparkContext csatlakozik a Spark-főkiszolgálóhoz, és feladata az alkalmazások átalakítása egy irányított gráfba (DAG) az egyes feladatokhoz.The SparkContext connects to the Spark master and is responsible for converting an application to a directed graph (DAG) of individual tasks. A munkavégző csomópontokon a végrehajtó folyamaton belül végrehajtott feladatok.Tasks that get executed within an executor process on the worker nodes. Minden alkalmazás saját végrehajtói folyamatokat kap.Each application gets its own executor processes. Amely a teljes alkalmazás időtartamára vonatkozik, és több szálon futtatja a feladatokat.Which stay up for the duration of the whole application and run tasks in multiple threads.

Spark in HDInsight – Használati esetekSpark in HDInsight use cases

A HDInsight-alapú Spark-fürtök a következő főbb forgatókönyvek megvalósítását teszik lehetővé:Spark clusters in HDInsight enable the following key scenarios:

Interaktív adatelemzés és BIInteractive data analysis and BI

A HDInsight Apache Spark az Azure Blob Storage, Azure Data Lake Gen1 vagy Azure Data Lake Storage Gen2 tárolja az adattárolást.Apache Spark in HDInsight stores data in Azure Blob Storage, Azure Data Lake Gen1, or Azure Data Lake Storage Gen2. Az üzleti szakértők és a fő döntéshozók a jelentések elemzésére és létrehozására is felhasználhatják azokat.Business experts and key decision makers can analyze and build reports over that data. A Microsoft Power BI használatával interaktív jelentéseket készíthet az elemzett adatokból.And use Microsoft Power BI to build interactive reports from the analyzed data. Az elemzők a fürtbeli tárolón található strukturálatlan, illetve részben strukturált adatokból kiindulva, notebookok használatával sémát adhatnak meg, majd a Microsoft PowerBI használatával adatmodelleket építhetnek fel.Analysts can start from unstructured/semi structured data in cluster storage, define a schema for the data using notebooks, and then build data models using Microsoft Power BI. A HDInsight-alapú Spark-fürtök számos harmadik féltől származó BI-eszközt is támogatnak.Spark clusters in HDInsight also support a number of third-party BI tools. Ilyenek például a tabló, ami megkönnyíti az adatelemzők, az üzleti szakértők és a fő döntéshozók számára.Such as Tableau, making it easier for data analysts, business experts, and key decision makers.

Spark Machine LearningSpark Machine Learning

Apache Spark a MLlib.Apache Spark comes with MLlib. A MLlib egy Spark-ra épülő gépi tanulási könyvtár, amelyet a HDInsight Spark-fürtjéből lehet használni.MLlib is a machine learning library built on top of Spark that you can use from a Spark cluster in HDInsight. A HDInsight-beli Spark-fürt magában foglalja az Anacondat, egy Python-disztribúciót, amely különböző típusú csomagokat tartalmaz a gépi tanuláshoz.Spark cluster in HDInsight also includes Anaconda, a Python distribution with different kinds of packages for machine learning. A Jupyter és a Zeppelin notebookok beépített támogatásával a gépi tanulási alkalmazások létrehozására szolgáló környezettel rendelkezik.And with built-in support for Jupyter and Zeppelin notebooks, you have an environment for creating machine learning applications.

Spark-alapú streamelés és valós idejű adatelemzésSpark streaming and real-time data analysis

A HDInsight-alapú Spark széles körű támogatást nyújt a valós idejű elemzési megoldások kiépítéséhez.Spark clusters in HDInsight offer a rich support for building real-time analytics solutions. A Spark már rendelkezik összekötőket számos olyan forrásból származó adatok betöltéséhez, mint például a Kafka, a Flume, a Twitter, a ZeroMQ vagy a TCP Sockets.Spark already has connectors to ingest data from many sources like Kafka, Flume, Twitter, ZeroMQ, or TCP sockets. A Spark in HDInsight első osztályú támogatást biztosít az Azure Event Hubs-ból származó adatok betöltéséhez.Spark in HDInsight adds first-class support for ingesting data from Azure Event Hubs. Az Event Hubs az Azure legnépszerűbb várólista-szolgáltatása.Event Hubs is the most widely used queuing service on Azure. A Event Hubs teljes támogatásával a Spark-fürtök a HDInsight ideális platformot biztosítanak a valós idejű elemzési folyamatok létrehozásához.Having complete support for Event Hubs makes Spark clusters in HDInsight an ideal platform for building real-time analytics pipeline.

Következő lépésekNext Steps

Ebben az áttekintésben az Azure HDInsight Apache Sparkának alapszintű ismerete van.In this overview, you've got a basic understanding of Apache Spark in Azure HDInsight. A következő cikkekből többet is megtudhat a HDInsight-Apache Sparkről, és létrehozhat egy HDInsight Spark-fürtöt, és további futtathat néhány példa Spark-lekérdezést:You can use the following articles to learn more about Apache Spark in HDInsight, and you can create an HDInsight Spark cluster and further run some sample Spark queries: