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

Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre kiszolgáló nélküli Apache Spark-készletet Azure Synapse webes eszközökkel. Ezután megtanulhat csatlakozni az Apache Spark-készlethez, és Spark SQL-lekérdezéseket futtathat 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-ben: Áttekintés: Apache Spark a Azure Synapse.

Fontos

A Spark-példányok számlázása percalapú, függetlenül attól, hogy használja-e őket. Mindenképpen állítsa le a Spark-példányt a használat befejezése után, 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, a kezdés előtt hozzon létre egy ingyenes Azure-fiókot .

Jegyzetfüzet létrehozása

A jegyzetfüzetek olyan 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ód markdownnal, szöveggel való kombinálását és egyszerű vizualizációk végrehajtását.

  1. A használni kívánt Azure Synapse munkaterület Azure Portal nézetében válassza a Launch Synapse Studio (Indítás) lehetőséget.

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

  3. Innen válassza a Jegyzetfüzet lehetőséget. A rendszer létrehoz és megnyit egy új jegyzetfüzetet 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 Közzététel gombra.

  6. Ha a munkaterületen csak egy Apache Spark-készlet található, akkor alapértelmezés szerint ki van jelölve. A legördülő menüben válassza ki a megfelelő Apache Spark-készletet, 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 kombinációját fogja használni, így az alapértelmezett választás rendben van. Más támogatott nyelvek a Scala és a Sparkhoz készült .NET.

  8. Ezután létrehoz egy egyszerű Spark DataFrame-objektumot, amely kezelhető. 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 oldalán található kék lejátszás ikont.

    • Válassza az összes futtatása gombot az eszköztáron.

      Adatkeret-objektum létrehozása

  10. Ha az Apache Spark-készletpéldány még nem fut, az automatikusan elindul. Az Apache Spark-készlet példányának állapota a futtatott cella alatt, valamint a jegyzetfüzet alján lévő állapotpanelen is látható. A készlet méretétől függően a kezdésnek 2-5 percet kell igénybe vennie. A kód futtatása után a cella alatti információk megjelenítik, hogy mennyi ideig tartott a futtatás és a végrehajtás. A kimeneti cellában megjelenik a kimenet.

    Cella végrehajtásának kimenete

  11. Az adatok mostantól már léteznek egy DataFrame-ben, ahonnan sokféleképpen használhatja az adatokat. A rövid útmutató további részében különböző formátumokban lesz szüksége rá.

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

     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 a fent használt fájlok írásának két különböző módját. Ha nincs megadva fájlrendszer, akkor a rendszer az alapértelmezettet használja, ebben az esetben default>user>trusted-service-user>demo_df. Az adatokat a rendszer a megadott fájlrendszer helyére menti.

    Figyelje meg, hogy a "csv" és a "parquet" formátumban is sok particionált fájllal hoz létre könyvtárat.

    A kimenet Storage Explorer

    Képernyőkép az alapértelmezett > demodata > demo_df elérési útról.

Spark SQL-utasítások futtatása

Structured Query Language (SQL) az adatok lekérdezéséhez és definiálásához leggyakrabban 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 a következő kódot egy üres cellába, majd futtassa a kódot. A parancs felsorolja a készlet tábláinak listáját.

    %%sql
    SHOW TABLES
    

    Ha jegyzetfüzetet használ a Azure Synapse Apache Spark-készlettel, egy olyan előre beállított beállítást sqlContext kap, amellyel lekérdezéseket futtathat a Spark SQL használatával. %%sql arra utasítja a jegyzetfüzetet, hogy használja az előre beállított beállítást sqlContext a lekérdezés futtatásához. A lekérdezés lekéri az első 10 sort egy olyan rendszertáblából, amely alapértelmezés szerint az összes Azure Synapse Apache Spark-készletet 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 az adatokat tartalmazza, a másik pedig a feladatnézetet jeleníti meg.

    Alapértelmezés szerint az eredménynézet egy rácsot jelenít meg. A rács alatt azonban van egy nézetváltó, amely lehetővé teszi, hogy a nézet váltson a rács- és a gráfnézetek között.

    Lekérdezés kimenete Azure Synapse Spark

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

  4. Válassza a Nézet beállításai ikont a jobb szélen.

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

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

  7. Az Y tengely oszlopmezőjé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 Azure Synapse

  10. Az SQL futtatásának ugyanaz a felülete, de nyelvváltás nélkül is. Ezt úgy teheti meg, hogy lecseréli a fenti SQL-cellát erre a PySpark-cellára. A kimeneti felület 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óra és a figyelésre lépni. A hivatkozásokra kattintva a felhasználói élmény különböző részeire léphet.

Megjegyzés

Az Apache Spark néhány hivatalos dokumentációja a Spark-konzol használatára támaszkodik, amely nem érhető el a Synapse Sparkban. Használja inkább a jegyzetfüzetet vagy az IntelliJ-szolgáltatásokat .

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

Azure Synapse menti az adatokat Azure Data Lake Storage. Biztonságosan engedélyezheti, hogy egy Spark-példány leálljon, ha nincs használatban. A kiszolgáló nélküli Apache Spark-készletért addig kell fizetnie, amíg az fut, még akkor is, ha nincs használatban.

Mivel a készlet díjai sokszor nagyobbak, mint a tárolási díjak, gazdasági szempontból célszerű a Spark-példányokat leállítani, ha nincsenek használatban.

A Spark-példány leállításához zárja be a csatlakoztatott munkameneteket (jegyzetfüzeteket). A készlet leáll az Apache Spark-készletben megadott tétlenségi idő elérésekor. A befejezési munkamenetet a jegyzetfüzet alján található állapotsoron 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 egy alapszintű Spark SQL-lekérdezést.