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

Az Apache Spark az egy párhuzamos feldolgozást végző keretrendszer, amely támogatja a memórián belüli feldolgozást a big data elemző 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 Spark-fürtök Azure Storage és az Azure Data Lake Storage kompatibilisek.Spark clusters in HDInsight are compatible with Azure Storage and Azure Data Lake Storage. 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óinformációk: Apache Hadoop-összetevők és verziók az Azure HDInsight.For the components and the versioning information, see Apache Hadoop components and versions in Azure HDInsight.

Spark: egyesített keretrendszer

Mi 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. Memóriabeli számításokhoz sokkal gyorsabb, mint a lemez-alapú alkalmazásokhoz, mint a Hadoop, Hadoop elosztott fájlrendszer (HDFS) keresztül oszt meg adatokat.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.

A hagyományos MapReduce és 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.

FunkcióFeature 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: Apache Spark-fürt a HDInsight – első lépések.See Get started with Apache Spark cluster in HDInsight.
Könnyű használatEase of use A HDInsight Spark-fürt Jupyter- és Apache Zeppelin-jegyzetfüzeteket tartalmaznak.Spark cluster in HDInsight include Jupyter 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.
REST API-kREST APIs A HDInsight Spark-fürtök tartalmazzák Apache Livy, egy REST API-alapú Spark-feladatkiszolgálót távoli feladatokat küldhet és felügyelhet.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 egy HDInsight Spark-fürt távoli feladatok elküldéséhez.See Use Apache Spark REST API to submit remote jobs to an HDInsight Spark cluster.
Az Azure Data Lake Storage támogatásaSupport for Azure Data Lake Storage A HDInsight Spark-fürtök az Azure Data Lake Storage is használhatja az elsődleges tárolási vagy a további tárhely.Spark clusters in HDInsight can use Azure Data Lake Storage as both the primary storage or additional storage. További információ a Data Lake Storage: az Azure Data Lake Storage áttekintése.For more information on Data Lake Storage, see Overview of Azure Data Lake Storage.
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. Streamelési alkalmazásokat mellett az Event Hubs használatával hozhat létre Apache Kafka, amely már elérhető a Spark részeként.You can build streaming applications using the Event Hubs, in addition to 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ó: ML Server HDInsighton belül – első lépések.For more information, see Get started using ML Server in 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ókért lásd: Azure-eszközkészlet használata az IntelliJ Idea, használható HDInsight VSCode-, és Eclipse-hez készült Azure eszközkészlet használata.For more information, see Use Azure Toolkit for IntelliJ IDEA, Use HDInsight 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.
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 közel 200 könyvtárat biztosít például a Machine Learning szolgáltatáshoz, az adatok elemzéséhez vagy a megjelenítéshez.Anaconda provides close to 200 libraries for machine learning, data analysis, visualization, etc.
MéretezhetőségScalability HDInsight lehetővé teszi, hogy a fürtcsomópontok számának módosításához.HDInsight allows you to change the number of cluster nodes. Emellett a Spark-fürtök törölhetők nincs adatvesztés, mivel az Azure Storage vagy a Data Lake Storage tárolt összes adatot.Also, Spark clusters can be dropped with no loss of data since all the data is stored in Azure Storage or Data Lake Storage.
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 tartalmazzák a következő összetevőket, a fürtökön alapértelmezés szerint elérhető.Apache Spark clusters in HDInsight include the following components that are available on the clusters by default.

A HDInsight-alapú Spark-fürtök ODBC-illesztőt is biztosítanak a HDInsight-alapú Spark-fürtökhöz olyan BI-eszközökből történő csatlakozáshoz, mint a Microsoft Power BI.Spark clusters in HDInsight also provide an ODBC driver for connectivity to Spark clusters in HDInsight from BI tools such as Microsoft Power BI.

Spark-fürtarchitektúraSpark cluster architecture

A HDInsight Spark architektúrája

A Spark összetevőinek szerepét legegyszerűbben a Spark HDInsight-fürtökön történő futtatásán keresztül érhetjük meg.It is easy to understand the components of Spark by understanding how Spark runs on HDInsight clusters.

A Spark-alkalmazások független folyamatkészletekként futnak a fürtön, koordinálásukat az (illesztőprogramnak is nevezett) főprogram SparkContext objektuma végzi.Spark applications run as independent sets of processes on a cluster, coordinated by the SparkContext object in your main program (called the driver program).

A SparkContext objektum különböző típusú fürtkezelőkhöz csatlakoztatható, amelyek az erőforrások lefoglalását végzik az egyes alkalmazásokban.The SparkContext can connect to several types of cluster managers, which allocate resources across applications. Ezek olyan fürtkezelők tartalmaznak Apache Mesos, Apache Hadoop YARN, vagy a Spark-kezelőt.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 adatokat olvasnak és írnak a és a Hadoop elosztott fájlrendszerbe.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 objektum csatlakozik a Spark-főkiszolgálóhoz, és a feladata az alkalmazások átalakítása irányított gráfokká (DAG) az egyes feladatokhoz, amelyek a feldolgozó csomópontok végrehajtó folyamatain belül lesznek végrehajtva.The SparkContext connects to the Spark master and is responsible for converting an application to a directed graph (DAG) of individual tasks that get executed within an executor process on the worker nodes. Mindegyik alkalmazás saját végrehajtó folyamatokkal rendelkezik, amelyek az alkalmazás teljes időtartamáig működnek, és több szálon futtatnak feladatokat.Each application gets its own executor processes, 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

    Az Apache Spark on HDInsight az Azure Storage vagy az Azure Data Lake Storage tárolja az adatokat.Apache Spark in HDInsight stores data in Azure Storage or Azure Data Lake Storage. Az üzleti szakértők és a legfontosabb döntéshozók ezen adatok alapján elemzéseket végezhetnek és jelentéseket állíthatnak elő, illetve a Microsoft Power BI használatával az elemzett adatokból interaktív jelentéseket készíthetnek.Business experts and key decision makers can analyze and build reports over that data 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 olyan külső BI-eszközt is támogatnak, mint például a Tableau, így leegyszerűsítik az adatelemzők, az üzleti szakértők és a fő döntéshozók munkáját.Spark clusters in HDInsight also support a number of third-party BI tools such as Tableau making it easier for data analysts, business experts, and key decision makers.

    Oktatóanyag: A Power BI használata Spark-adatok megjelenítéseTutorial: Visualize Spark data using Power BI

  • Spark Machine LearningSpark Machine Learning

    Az Apache Spark tartalmazza a Sparkra épülő MLlib Machine Learning-könyvtárat, amelyet egy HDInsight-alapú Spark-fürtből használhat.Apache Spark comes with MLlib, a machine learning library built on top of Spark that you can use from a Spark cluster in HDInsight. A HDInsight-alapú Spark-fürt tartalmazza a Python által terjesztett, számos gépi tanulási csomaggal rendelkező Anaconda rendszert.Spark cluster in HDInsight also includes Anaconda, a Python distribution with a variety of packages for machine learning. Ha ehhez hozzáveszi a Jupyter és Zeppelin notebookok beépített támogatását is, a gépi tanulási alkalmazásokhoz megfelelő környezetet kap.Couple this with a built-in support for Jupyter and Zeppelin notebooks, and you have an environment for creating machine learning applications.

    Oktatóanyag: HVAC-adatok épület-hőmérsékletek előrejelzéseTutorial: Predict building temperatures using HVAC data
    Oktatóanyag: Élelmiszervizsgálati eredmények előrejelzéseTutorial: Predict food inspection results

  • 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. Amíg a Spark számos adatforrást (például Kafka, Flume, Twitter, ZeroMQ vagy TCP-szoftvercsatornák) támogató összekötőkkel rendelkezik, a Spark on HDInsight az Azure Event Hubs eseményközpontokból származó adatok magas szintű feldolgozását is támogatja.While Spark already has connectors to ingest data from many sources like Kafka, Flume, Twitter, ZeroMQ, or TCP sockets, 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. Az azonnal használható Event Hubs-támogatással a HDInsight-alapú Spark-fürtök ideális platformot nyújtanak a valós idejű elemzési folyamatok kiépítéséhez.Having an out-of-the-box support for Event Hubs makes Spark clusters in HDInsight an ideal platform for building real-time analytics pipeline.

Hogyan kezdjek hozzá?Where do I start?

Használhatja a következő cikkekben talál további információt az Apache Spark on HDInsight:You can use the following articles to learn more about Apache Spark in HDInsight:

További lépésekNext Steps

Ebben az áttekintésben néhány alapszintű információt ismertetünk az Azure HDInsight-alapú Apache Sparkról.In this overview, you get some basic understanding of Apache Spark in Azure HDInsight. Folytassa a következő cikkel, amelyből megtudhatja, hogyan hozhat létre HDInsight Spark-fürtöt és futtathat Spark SQL-lekérdezéseket:Advance to the next article to learn how to create an HDInsight Spark cluster and run some Spark SQL queries: