Adatátalakítás a felhőben egy Spark-tevékenység az Azure Data Factoryban való használatával
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ebben az oktatóanyagban egy Azure Data Factory-folyamatot hoz létre az Azure Portal használatával. Ez a folyamat egy Spark-tevékenységgel és egy igény szerinti Azure HDInsight társított szolgáltatással alakítja át az adatokat.
Az oktatóanyagban az alábbi lépéseket fogja végrehajtani:
- Adat-előállító létrehozása
- Hozzon létre egy Spark-tevékenységet használó folyamatot.
- Folyamat futtatásának aktiválása
- A folyamat futásának monitorozása.
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Előfeltételek
Megjegyzés:
We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
- Egy Azure Storage-fiók. Létrehoz egy Python-szkriptet és egy bemeneti fájlt, és feltölti őket az Azure Storage-be. A Spark-program kimenetét ebben a tárfiókban tárolja a rendszer. Az igény szerinti Spark-fürt ugyanezt a tárfiókot használja elsődleges tárterületként.
Megjegyzés:
A HdInsight csak az általános célú, standard szintű tárfiókokat támogatja. Győződjön meg róla, hogy nem prémium szintű tárfiókot vagy blobfiókot adott meg.
- Azure PowerShell. Kövesse az Azure PowerShell telepítését és konfigurálását ismertető cikkben szereplő utasításokat.
Python-szkript feltöltése a Blob Storage-fiókba
Hozzon létre egy WordCount_Spark.py nevű Python-fájlt az alábbi tartalommal:
import sys from operator import add from pyspark.sql import SparkSession def main(): spark = SparkSession\ .builder\ .appName("PythonWordCount")\ .getOrCreate() lines = spark.read.text("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/inputfiles/minecraftstory.txt").rdd.map(lambda r: r[0]) counts = lines.flatMap(lambda x: x.split(' ')) \ .map(lambda x: (x, 1)) \ .reduceByKey(add) counts.saveAsTextFile("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/outputfiles/wordcount") spark.stop() if __name__ == "__main__": main()
Cserélje a <storageAccountName> kifejezést az Azure Storage-fiókja nevére. Ezután mentse a fájlt.
Az Azure Blob Storage-ban hozzon létre egy adftutorial nevű tárolót, ha még nem létezik.
Hozzon létre egy spark mappát.
Hozzon létre egy script almappát a spark mappában.
Töltse fel a WordCount_Spark.py fájlt a szkript almappába.
A bemeneti fájl feltöltése
- Hozzon létre egy minecraftstory.txt nevű fájlt némi szöveges tartalommal. A Spark-program megszámolja a szavak számát ebben a szövegben.
- Hozzon létre egy inputfiles nevű almappát a spark mappában.
- Töltse fel a minecraftstory.txt fájlt az inputfiles almappába.
Adat-előállító létrehozása
Kövesse az alábbi rövid útmutató lépéseit: Adat-előállító létrehozása az Azure Portallal adat-előállító létrehozásához, ha még nem rendelkezik ilyennel.
Társított szolgáltatások létrehozása
Ebben a szakaszban két társított szolgáltatást hoz létre:
- Egy Azure Storage-beli társított szolgáltatást, amely egy Azure Storage-fiókot társít az adat-előállítóhoz. Ezt a tárterületet csak az igény szerinti HDInsight-fürt használja. Ez tartalmazza a futtatni kívánt Spark-szkriptet is.
- Egy igény szerinti HDInsight társított szolgáltatást. Az Azure Data Factory automatikusan létrehoz egy HDInsight-fürtöt, és futtatja a Spark programot. Ezt követően pedig törli a HDInsight-fürtöt, miután a fürt egy előre meghatározott ideig tétlen volt.
Azure Storage-beli társított szolgáltatás létrehozása
A kezdőlapon váltson a bal oldali panel Kezelés lapjára.
Kattintson az ablak alján látható Kapcsolatok, majd az + Új elemre.
Az Új társított szolgáltatás ablakban válassza az Adattár>Azure Blob Storage lehetőséget, majd kattintson a Folytatás elemre.
A Storage-fiók neve mezőben válassza ki a nevet a listából, majd kattintson a Mentés gombra.
Igény szerinti HDInsight társított szolgáltatás létrehozása
Kattintson ismét az + Új gombra egy további társított szolgáltatás létrehozásához.
Az Új társított szolgáltatás ablakban válassza a Compute>Azure HDInsight lehetőséget, majd kattintson a Folytatás gombra.
Az Új társított szolgáltatás ablakban végezze el az alábbi lépéseket:
a. A Név mezőben adja meg a következőt: AzureHDInsightLinkedService.
b. Győződjön meg arról, hogy az On-demand HDInsight (Igény szerinti HDInsight) van kiválasztva a Típus elemnél.
c. Az Azure Storage társított szolgáltatás esetében válassza az AzureBlobStorage1 lehetőséget. Ezt a társított szolgáltatást korábban hozta létre. Ha másik nevet használt, adja meg a megfelelő nevet.
d. Válasza a sparkfürttípust.
e. Adja meg annak az egyszerű szolgáltatásnak az azonosítóját, amely rendelkezik a HDInsight-fürt létrehozásához szükséges engedéllyel.
A szolgáltatásnévnek az előfizetés vagy a létrejövő fürtnek helyet adó erőforráscsoport Közreműködő szerepkörének tagjának kell lennie. További információ: Microsoft Entra-alkalmazás és szolgáltatásnév létrehozása. A szolgáltatásnév azonosítója megegyezik az alkalmazásazonosítóval, a szolgáltatásnévkulcs pedig egyenértékű az ügyfélkód értékével.
f. A Szolgáltatásnév kulcsa mezőben adja meg a kulcsot.
g. Az Erőforráscsoport beállításnál válassza ki az adat-előállító létrehozásához használt erőforráscsoportot. Ekkor a Spark-fürt létrejön ebben az erőforráscsoportban.
h. Bontsa ki az OS type (Operációs rendszer típusa) elemet.
i. Adjon egy nevet a Cluster user name (Fürt felhasználóneve) mezőben.
j. Adja meg a felhasználónévhez tartozó jelszót a Cluster password (Fürt jelszava) mezőben.
k. Válassza a Befejezéslehetőséget.
Megjegyzés:
Az Azure HDInsightban korlátozott azon magok száma, amelyek az egyes támogatott Azure-régiókban felhasználhatók. Igény szerinti HDInsight társított szolgáltatás esetében a HDInsight-fürt ugyanazon a helyen jön létre, mint amit az Azure Storage elsődleges tárterületként használ. Ellenőrizze, hogy a magkvótája elegendő-e a fürt sikeres létrehozásához. További információk: Fürtök beállítása a HDInsightban Hadoop, Spark, Kafka stb. használatával.
Folyamat létrehozása
Kattintson a + (plusz) gombra, majd a menüben válassza a Folyamat elemet.
A Tevékenységek eszközkészletben bontsa ki a HDInsight elemet. Húzza a Spark tevékenységet a Tevékenységek eszközkészletből a folyamat tervezőfelületére.
A Spark-tevékenység tulajdonságok ablakában végezze el az alábbi lépéseket:
a. Váltson a HDI-fürt lapra.
b. Válassza ki az előző lépésben létrehozott AzureHDInsightLinkedService elemet.
Váltson a Szkript/Jar lapra, és végezze el az alábbi lépéseket:
a. Feladathoz társított szolgáltatás esetén válassza az AzureBlobStorage1 lehetőséget.
b. Kattintson a Tallózás a tárolóban lehetőségre.
c. Keresse meg az adftutorial/spark/script mappát, válassza ki a WordCount_Spark.py fájlt, majd kattintson a Befejezés gombra.
A folyamat érvényesítéséhez kattintson az Érvényesítés gombra az eszköztáron. Az érvényesítési ablak bezárásához kattintson a >> (jobbra mutató nyíl) gombra.
Kattintson Az összes közzététele gombra. A Data Factory felhasználói felülete entitásokat (társított szolgáltatásokat és folyamatot) tesz közzé az Azure Data Factory szolgáltatásban.
Folyamat futtatásának aktiválása
Válassza az Eszköztár Eseményindító hozzáadása elemét, majd az Eseményindító most lehetőséget.
A folyamat futásának monitorozása
Váltson a Figyelés lapra. Ellenőrizze, hogy lát-e folyamatfuttatást. Egy Spark-fürt létrehozása nagyjából 20 percet vesz igénybe.
Rendszeres időközönként kattintson a Frissítés gombra a folyamat futási állapotának ellenőrzéséhez.
A folyamat futásához kapcsolódó tevékenységfuttatások megtekintéséhez kattintson a Tevékenységfuttatások megtekintése elemre a Műveletek oszlopban.
A folyamatfuttatások nézetre a tetején található Minden folyamatfuttatás hivatkozás kiválasztásával válthat vissza.
Kimenet ellenőrzése
Ellenőrizze, hogy a kimeneti fájl a spark/outputfiles/wordcount mappában jött-e létre.
A fájlban a bemeneti szövegfájl összes szavának szerepelnie kell, valamint annak is, hogy az adott szó hányszor szerepel a fájlban. Például:
(u'This', 1)
(u'a', 1)
(u'is', 1)
(u'test', 1)
(u'file', 1)
Kapcsolódó tartalom
A mintában szereplő folyamat egy Spark-tevékenységgel és egy igény szerinti HDInsight társított szolgáltatással alakítja át az adatokat. Megtanulta végrehajtani az alábbi műveleteket:
- Adat-előállító létrehozása
- Hozzon létre egy Spark-tevékenységet használó folyamatot.
- Folyamat futtatásának aktiválása
- A folyamat futásának monitorozása.
A következő oktatóanyagra lépve megtudhatja, hogyan alakíthat át adatokat egy Hive-szkript a virtuális hálózatban lévő Azure HDInsight-fürtön való futtatásával.