Megosztás a következőn keresztül:


Adatok átalakítása Spark-tevékenység használatával az Azure Data Factoryben és a Synapse Analyticsben

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!

A Spark-tevékenység egy adat-előállítóban és a Synapse-folyamatokban egy Spark-programot hajt végre saját vagy igény szerinti HDInsight-fürtön. Ez a cikk az adatátalakítási tevékenységekről szóló cikkre épül, amely általános áttekintést nyújt az adatátalakításról és a támogatott átalakítási tevékenységekről. Igény szerinti Spark-társított szolgáltatás használatakor a szolgáltatás automatikusan létrehoz egy Spark-fürtöt az adatok feldolgozásához, majd a feldolgozás befejezése után törli a fürtöt.

Spark-tevékenység hozzáadása folyamathoz felhasználói felülettel

Ha Spark-tevékenységet szeretne használni egy folyamathoz, hajtsa végre a következő lépéseket:

  1. Keresse meg a Sparkot a folyamattevékenységek panelen, és húzzon egy Spark-tevékenységet a folyamatvászonra.

  2. Jelölje ki az új Spark-tevékenységet a vásznon, ha még nincs kijelölve.

  3. A HDI-fürt lapon válassza ki vagy hozzon létre egy új társított szolgáltatást egy HDInsight-fürthöz, amely a Spark-tevékenység végrehajtásához lesz használva.

    Shows the UI for a Spark activity.

  4. Válassza a Szkript/Jar lapot egy új feladathoz társított szolgáltatás kiválasztásához vagy létrehozásához egy Azure Storage-fiókhoz, amely a szkriptet fogja üzemeltetni. Adja meg az ott végrehajtandó fájl elérési útját. Speciális részleteket is konfigurálhat, például proxyfelhasználót, hibakeresési konfigurációt, valamint argumentumokat és Spark-konfigurációs paramétereket, hogy átadják a szkriptnek.

    Shows the UI for the Script / Jar tab for a Spark activity.

Spark-tevékenység tulajdonságai

Íme a Spark-tevékenység JSON-mintadefiníciója:

{
    "name": "Spark Activity",
    "description": "Description",
    "type": "HDInsightSpark",
    "linkedServiceName": {
        "referenceName": "MyHDInsightLinkedService",
        "type": "LinkedServiceReference"
    },
    "typeProperties": {
        "sparkJobLinkedService": {
            "referenceName": "MyAzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "rootPath": "adfspark",
        "entryFilePath": "test.py",
        "sparkConfig": {
            "ConfigItem1": "Value"
        },
        "getDebugInfo": "Failure",
        "arguments": [
            "SampleHadoopJobArgument1"
        ]
    }
}

Az alábbi táblázat a JSON-definícióban használt JSON-tulajdonságokat ismerteti:

Property Leírás Required
név A folyamat tevékenységének neve. Igen
leírás A tevékenység tevékenységeit leíró szöveg. Nem
típus A Spark-tevékenység esetében a tevékenység típusa a HDInsightSpark. Igen
linkedServiceName Annak a HDInsight Spark társított szolgáltatásnak a neve, amelyen a Spark-program fut. A társított szolgáltatással kapcsolatos további információkért tekintse meg a társított számítási szolgáltatásokról szóló cikket. Igen
SparkJobLinkedService A Spark-feladatfájlt, függőségeket és naplókat tartalmazó Azure Storage társított szolgáltatás. Itt csak az Azure Blob Storage és az ADLS Gen2 társított szolgáltatásai támogatottak. Ha nem ad meg értéket ehhez a tulajdonsághoz, a HDInsight-fürthöz társított tároló lesz használatban. Ennek a tulajdonságnak az értéke csak egy Azure Storage társított szolgáltatás lehet. Nem
rootPath A Spark-fájlt tartalmazó Azure Blob-tároló és mappa. A fájlnév megkülönbözteti a kis- és nagybetűk nevét. A mappa szerkezetével kapcsolatos részletekért tekintse meg a mappaszerkezet szakaszát (a következő szakaszt). Igen
entryFilePath A Spark-kód/csomag gyökérmappájának relatív elérési útja. A belépési fájlnak Python- vagy .jar-fájlnak kell lennie. Igen
Osztálynév Az alkalmazás Java/Spark főosztálya Nem
Érvek A Spark program parancssori argumentumainak listája. Nem
proxyUser A Spark-program végrehajtásához megszemélyesítendő felhasználói fiók Nem
sparkConfig Adja meg a Spark konfigurációs tulajdonságainak értékeit a következő témakörben: Spark Configuration – Alkalmazástulajdonságok. Nem
getDebugInfo Azt határozza meg, hogy a Spark-naplófájlok a sparkJobLinkedService által megadott HDInsight-fürt (vagy) által használt Azure-tárolóba legyenek másolva. Engedélyezett értékek: Nincs, Mindig vagy Hiba. Alapértelmezett érték: Nincs. Nem

Mappastruktúra

A Spark-feladatok bővíthetőbbek, mint a Pig/Hive feladatok. Spark-feladatokhoz több függőséget is megadhat, például jar-csomagokat (a Java CLASSPATH-ban), a Python-fájlokat (a PYTHONPATH-on helyezve) és minden más fájlt.

Hozza létre a következő mappastruktúrát a HDInsight társított szolgáltatás által hivatkozott Azure Blob Storage-ban. Ezután töltse fel a függő fájlokat a megfelelő almappákba a entryFilePath által képviselt gyökérmappában. Például töltse fel a Python-fájlokat a pyFiles almappába, a jar-fájlokat pedig a gyökérmappa Jars almappájába. Futásidőben a szolgáltatás a következő mappastruktúrát várja az Azure Blob Storage-ban:

Elérési út Leírás Required Típus
. (gyökér) A Spark-feladat gyökérútvonala a társított tárolószolgáltatásban Igen Mappa
<felhasználó által definiált > A Spark-feladat belépési fájljára mutató elérési út Igen Fájl
./Tégelyek A mappa alatti összes fájl feltöltése és elhelyezése a fürt Java-osztályútvonalán Nem Mappa
./pyFiles A mappa alatt lévő összes fájl feltöltése és elhelyezése a fürt PYTHONPATH-ján Nem Mappa
./Fájlokat A mappa alatti összes fájl feltöltése és elhelyezése a végrehajtó munkakönyvtárában Nem Mappa
./Archívum A mappa összes fájlja tömörítetlen Nem Mappa
./Naplók A Spark-fürt naplóit tartalmazó mappa. Nem Mappa

Íme egy példa egy tárolóra, amely két Spark-feladatfájlt tartalmaz az Azure Blob Storage-ban a HDInsight társított szolgáltatás által hivatkozott hivatkozással.

SparkJob1
	main.jar
	files
		input1.txt
		input2.txt
	jars
		package1.jar
		package2.jar
	logs
	
	archives
	
	pyFiles

SparkJob2
	main.py
	pyFiles
		scrip1.py
		script2.py
	logs
	
	archives
	
	jars
	
	files
	

Tekintse meg az alábbi cikkeket, amelyekből megtudhatja, hogyan alakíthat át adatokat más módokon: