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
- Rendelkeznie kell Azure-előfizetéssel. Szükség esetén hozzon létre egy ingyenes Azure-fiókot
- Synapse Analytics-munkaterület
- Kiszolgáló nélküli Apache Spark-készlet
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.
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.
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.
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.
A Tulajdonságok ablakban adja meg a jegyzetfüzet nevét.
Az eszköztáron kattintson a Közzététel gombra.
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.
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.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()
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.
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.
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á.
Í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.
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.
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ástsqlContext
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.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.
A Nézetváltóban válassza a Diagram lehetőséget.
Válassza a Nézet beállításai ikont a jobb szélen.
A Diagram típusa mezőben válassza a "sávdiagram" lehetőséget.
Az X tengely oszlop mezőjében válassza az "állapot" lehetőséget.
Az Y tengely oszlopmezőjében válassza a "fizetés" lehetőséget.
Az Összesítés mezőben válassza az "AVG" lehetőséget.
Kattintson az Alkalmaz gombra.
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'))
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.