Rövid útmutató: Kiszolgáló nélküli Apache Spark létrehozása a Azure Synapse Analytics webes eszközök használatával

Ebből a rövid útmutatóból megtudhatja, hogyan hozhat létre kiszolgáló nélküli Apache Spark a Azure Synapse webes eszközökkel. Ezután megtanulhatja, hogyan csatlakozhat a Apache Spark készlethez, és hogyan futtathat Spark SQL lekérdezéseket fájlokon és táblákon. Az Apache Spark a memóriában végzett feldolgozás segítségével teszi lehetővé a gyors adatelemzést és fürtszámítást. További információ a Sparkról a Azure Synapse: Áttekintés: Apache Spark a Azure Synapse.

Fontos

A Spark-példányok számlázása percenkénti, akár használatban van, akár nem. Mindenképpen állítsa le a Spark-példányt, miután befejezte a használatot, vagy állítson be egy rövid időtúllépést. További információkért lásd a cikk Az erőforrások eltávolítása című szakaszát.

Ha nem rendelkezik Azure-előfizetéssel, a kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Jelentkezzen be az Azure Portalra

Jelentkezzen be az Azure Portalra.

Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot a feladatok megkezdése előtt.

Jegyzetfüzet létrehozása

A jegyzetfüzetek interaktív környezetek, amelyek különböző programozási nyelveket támogatnak. A jegyzetfüzet lehetővé teszi az adatokkal való interakciót, a kódot Markdown-jelöléssel és szöveggel kombinálva, valamint egyszerű vizualizációk elvégzését.

  1. A Azure Portal munkaterület Azure Synapse válassza a Launch Synapse Studio lehetőséget.

  2. A Synapse Studio után válassza a Develop (Fejlesztés) lehetőséget. Ezután válassza a " + ikont egy új erőforrás hozzáadásához.

  3. Itt válassza a Notebook lehetőséget. A rendszer létrehoz egy új jegyzetfüzetet, és megnyitja egy automatikusan létrehozott névvel.

    Új jegyzetfüzet

  4. A Tulajdonságok ablakban adja meg a jegyzetfüzet nevét.

  5. Az eszköztáron kattintson a Publish (Közzététel) elemre.

  6. Ha csak egy Apache Spark található a munkaterületen, akkor az alapértelmezés szerint ki van választva. A legördülő menüben válassza ki a megfelelő Apache Spark, ha nincs kiválasztva.

  7. Kattintson a Kód hozzáadása elemre. Az alapértelmezett nyelv a Pyspark . A Pyspark- és a Spark-SQL fog használni, így az alapértelmezett választás megfelelő. További támogatott nyelvek: Scala és .NET a Sparkhoz.

  8. Ezután létrehoz egy egyszerű Spark DataFrame-objektumot, amely manipulálható. Ebben az esetben kódból hozza létre. Három sor és három oszlop van:

    new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)]
    demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary'])
    demo_df.show()
    
  9. Most futtassa a cellát az alábbi módszerek egyikével:

    • Nyomja le a SHIFT + ENTER billentyűkombinációt.

    • Válassza a cella bal oldali kék lejátszás ikonját.

    • Válassza az eszköztár Összes futtatása gombját.

      Adatkeret-objektum létrehozása

  10. Ha a Apache Spark-példány még nem fut, automatikusan elindul. A készlet Apache Spark állapota a futtatott cella alatt, valamint a jegyzetfüzet alján található állapotpanelen is látható. A készlet méretétől függően a kezdés 2–5 percet is igénybe fog venni. A kód futásának befejezése után a cella alatti információk azt mutatják, hogy mennyi ideig tartott a futtatása és végrehajtása. A kimeneti cellában a kimenet látható.

    Cella végrehajtásából származó kimenet

  11. Az adatok mostantól egy DataFrame-keretben létezik, és az adatokat számos különböző módon használhatja. A rövid útmutató további részében különböző formátumokban lesz rá szüksége.

  12. Írja be az alábbi kódot egy másik cellába, és futtassa. Ezzel létrehoz egy Spark-táblát, egy CSV-t és egy Parquet-fájlt az adatok másolataiból:

     demo_df.createOrReplaceTempView('demo_df')
     demo_df.write.csv('demo_df', mode='overwrite')
     demo_df.write.parquet('abfss://<<TheNameOfAStorageAccountFileSystem>>@<<TheNameOfAStorageAccount>>.dfs.core.windows.net/demodata/demo_df', mode='overwrite')
    

    Ha a Storage Explorert használja, láthatja, milyen hatással van a fent használt két különböző fájlírási mód. Ha nincs megadva fájlrendszer, akkor a rendszer az alapértelmezett értéket használja, ebben az esetben a következőt: default>user>trusted-service-user>demo_df . A rendszer a megadott fájlrendszer helyére menti az adatokat.

    Figyelje meg, hogy a "csv" és a "parquet" formátumban is létrejönnek olyan írási műveletek, amelyek számos particionált fájlból álló könyvtárat hoznak létre.

    Storage nézetének nézete

    Képernyőkép a demodata > alapértelmezett > demo_df kiemelésről.

Spark SQL-utasítások futtatása

Structured Query Language (SQL) az adatok lekérdezéséhez és meghatározásához leggyakrabban és legszélesebb körben használt nyelv. A Spark SQL az Apache Spark bővítményeként működik a strukturált adatok ismerős SQL-szintaxissal való feldolgozásához.

  1. Illessze be az alábbi kódot egy üres cellába, majd futtassa a kódot. A parancs felsorolja a készlet táblái.

    %%sql
    SHOW TABLES
    

    Amikor jegyzetfüzetet használ a Azure Synapse Apache Spark készlettel, egy előzetes beállításkészletet kap, amely lekérdezések Futtatására használható a sqlContext Spark SQL. %%sql A arra utasítja a notebookot, hogy az előzetes sqlContext beállítással futtassa a lekérdezést. A lekérdezés lekéri az első 10 sort egy rendszertáblából, amely alapértelmezés szerint az összes Azure Synapse Apache Spark tartalmazza.

  2. Futtasson egy másik lekérdezést a demo_df adatainak megtekintéséhez.

    %%sql
    SELECT * FROM demo_df
    

    A kód két kimeneti cellát állít elő, amelyek közül az egyik adateredményeket tartalmaz, a másik pedig a feladatnézetet.

    Alapértelmezés szerint az eredménynézet egy rácsot mutat. A rács alatt azonban van egy nézetkapcsoló, amely lehetővé teszi a nézet számára a rács- és a gráfnézetek közötti váltást.

    Lekérdezés kimenete Azure Synapse Sparkban

  3. A Nézetválasztóban válassza a Diagram lehetőséget.

  4. A jobb oldalon válassza a Beállítások megtekintése ikont.

  5. A Diagram típusa mezőben válassza a "sávdiagram" lehetőséget.

  6. Az X tengely oszlopmezőben válassza az "állapot" lehetőséget.

  7. Az Y tengely oszlopmezőben válassza a "fizetés" lehetőséget.

  8. Az Összesítés mezőben válassza az "AVG" lehetőséget.

  9. Kattintson az Alkalmaz gombra.

    Diagramkimenet az Azure Synapse Sparkban

  10. Ugyanez a felhasználói élmény is elérhető a SQL, de nem kell nyelveket váltania. Ehhez cserélje le a fenti SQL erre a PySpark-cellára. A kimeneti élmény ugyanaz, mert a megjelenítési parancsot használja:

    display(spark.sql('SELECT * FROM demo_df'))
    
  11. A korábban végrehajtott cellák mindegyikének lehetősége volt az Előzménykiszolgáló és figyelés lehetőségre. A hivatkozásokra kattintva a Felhasználói élmény különböző részeihez gombra kattint.

Megjegyzés

A dokumentáció Apache Spark a Spark-konzolt használja, amely a Synapse Sparkban nem érhető el. Használja inkább a notebookot vagy az IntelliJ-t.

Az erőforrások eltávolítása

Azure Synapse Azure Data Lake-ben menti az Storage. Biztonságosan leállíthatja a Spark-példányt, ha az nincs használatban. A kiszolgáló nélküli Apache Spark, amíg fut, akkor is, ha nincs használatban.

Mivel a készlet díja sokszor több, mint a tárterület díja, gazdasági szempontból logikus, ha a Spark-példányok leállnak, amikor nincsenek használatban.

A Spark-példány leálltának biztosításához állítsa le a csatlakoztatott munkameneteket (jegyzetfüzeteket). A készlet akkor áll le, amikor eléri a Apache Spark-készletben megadott üresjárati időt. A munkamenet befejezése lehetőséget a jegyzetfüzet alján található állapotsávon is kiválaszthatja.

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan hozhat létre kiszolgáló nélküli Apache Spark készletet, és hogyan futtathat alapszintű Spark SQL lekérdezést.