Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tipp.
A Spark-tevékenység egy adatgyárban és a Synapse-pipeline-okban 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.
Felhasználói felülettel rendelkező Spark-tevékenység hozzáadása egy folyamathoz
Ha Spark-tevékenységet szeretne használni egy folyamathoz, hajtsa végre a következő lépéseket:
Keresse meg a Sparkot a folyamattevékenységek panelen, és húzzon egy Spark-tevékenységet a folyamatvászonra.
Jelölje ki az új Spark-tevékenységet a vásznon, ha még nincs kijelölve.
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.
Válassza a Script/Jar lapot egy új, a szkriptet futtató Azure Storage-fiókhoz társított szolgáltatás kiválasztásához vagy létrehozásához. 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.
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:
| Tulajdonság | Leírás | Szükséges |
|---|---|---|
| név | A folyamat tevékenységének neve. | Igen |
| leírás | A tevékenység célját leíró szöveg. | Nem |
| típus | A Spark-tevékenység esetében a tevékenység típusa a HDInsightSpark. | Igen |
| linkedServiceName (CsatlakoztatottSzolgáltatásNév) | 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 Azure Blob Storage és ADLS Gen2 társított szolgáltatások támogatottak. Ha nem ad meg értéket ehhez a tulajdonsághoz, a HDInsight-fürthöz társított tároló lesz használatos. A tulajdonság értéke csak Azure Storage kapcsolt szolgáltatás lehet. | Nem |
| rootPath | A Spark-fájlt tartalmazó Azure Blob-tároló és mappa. A fájlnév kis- és nagybetűérzékeny. 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 |
| className | 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ájlokat a HDInsight-fürt által használt Azure tárolóba vagy a sparkJobLinkedService által megadott tárolóba másolják. 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-feladatok esetén több függőséget is megadhat, például jar-csomagokat (az Java CLASSPATH-ban), 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. Töltsön fel például 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 a Azure Blob Storage-ban:
| Elérési útvonal | Leírás | Szükséges | 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 |
| ./jars | A könyvtárban található összes fájl feltöltve van a fürt Java osztályútvonalára. | Nem | Mappa |
| ./pyFiles | Ebben a mappában lévő összes fájl feltöltve és elhelyezve vannak 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 |
| ./logs | 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 a HDInsight társított szolgáltatás által hivatkozott Azure Blob Storage.
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
Kapcsolódó tartalom
Tekintse meg az alábbi cikkeket, amelyekből megtudhatja, hogyan alakíthat át adatokat más módokon: