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
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
Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
- 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 a következő 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 le <a storageAccountName> nevet az Azure-tárfiók 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
Indítsa el a Microsoft Edge vagy a Google Chrome böngészőt. A Data Factory felhasználói felületének használata jelenleg csak a Microsoft Edge-ben és a Google Chrome-ban támogatott.
Kattintson az Új elemre a bal oldali menüben, majd az Adatok + analitika, végül a Data Factory elemre.
Az Új adat-előállító lap Név mezőjében adja meg az ADFTutorialDataFactory értéket.
Az Azure data factory nevének globálisan egyedinek kell lennie. Ha a következő hibát látja, módosítsa az adat-előállító nevét. (Például használja <a yournameADFTutorialDataFactory> parancsot). A Data Factory-összetevők elnevezési szabályait a Data Factory elnevezési szabályait ismertető cikkben találja.
Előfizetés: válassza ki azt az Azure-előfizetést, amelyben az adat-előállítót létre szeretné hozni.
Erőforráscsoport: hajtsa végre a következő lépések egyikét:
- Válassza a Meglévő használata lehetőséget, és válasszon ki egy meglévő erőforráscsoportot a legördülő listából.
- Válassza az Új létrehozása lehetőséget, és adja meg egy erőforráscsoport nevét.
A rövid útmutató egyes lépései azt feltételezik, hogy az ADFTutorialResourceGroup nevet adta az erőforráscsoportnak. Az erőforráscsoportokkal kapcsolatos információkért tekintse meg a Using resource groups to manage your Azure resources (Erőforráscsoportok használata az Azure-erőforrások kezeléséhez) című cikket.
A Verzió résznél válassza a V2 értéket.
Hely: válassza ki az adat-előállító helyét.
Azon Azure-régiók megtekintéséhez, amelyekben jelenleg elérhető a Data Factory, a következő lapon válassza ki az Önt érdeklő régiókat, majd bontsa ki az Elemzés részt, és keresse meg a Data Factory: Elérhető termékek régiók szerint szakaszt. A Data Factory által használt adattárak (Azure Storage, Azure SQL Database stb.) és számítási erőforrások (HDInsight stb.) más régiókban is lehetnek.
Válassza a Létrehozás lehetőséget.
A létrehozás befejezése után megjelenik az Adat-előállító lap. Válassza a Author & Monitor csempét a Data Factory felhasználói felületi alkalmazás külön lapon való elindításához.
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.
- Igény szerinti HDInsight társított szolgáltatás. 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ók: Egy Azure Active Directory-alkalmazás és egyszerű szolgáltatás 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.
: 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és gombot.
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 felül 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)
Következő lépések
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.