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 Storage és a Azure Data Lake Storage szolgáltatással.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ó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.

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: Ismerkedés a Apache Spark-fürttel a HDInsight-ben.See Get started with Apache Spark cluster in HDInsight.
Könnyű használatEase of use A HDInsight-beli Spark-fürt tartalmazza a Jupyter-és az Apache Zeppelin-jegyzetfüzeteket.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-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 Data Lake Storage támogatásaSupport for Azure Data Lake Storage A HDInsight-alapú Spark-fürtök az elsődleges tárolóként vagy további tárterületként is használhatják a Azure Data Lake Storage.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 Storageről: 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. A Event Hubs a Apache Kafkamellett is létrehozhat adatfolyam-alkalmazásokat, amelyek már elérhetők 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ó: 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.
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.
MéretezhetőségScalability A HDInsight lehetővé teszi a fürtcsomópontok számának módosítását.HDInsight allows you to change the number of cluster nodes. Emellett a Spark-fürtöket nem lehet adatvesztés nélkül eldobni, mert az összes tárolt adatmennyiség az Azure Storage-ban vagy a Data Lake Storageban van tárolva.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 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-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

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 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 a fürtcsomópontok az Apache mesos, a Apache Hadoop a fonalvagy 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 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

    A HDInsight Apache Spark az Azure Storage-ban vagy Azure Data Lake Storageban tárolja az adattárolást.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: Spark-adatmegjelenítés Power BI használatávalTutorial: 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-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. 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: Építési hőmérsékletek előrejelzése HVAC-adatszolgáltatásokkalTutorial: Predict building temperatures using HVAC data
    Oktatóanyag: Élelmiszer-vizsgá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?

A következő cikkekből többet is megtudhat a HDInsight Apache Sparkáról: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: