Выполните задание PySpark с зависимостями с помощью фабрики данных Azure V2
Я хотел бы выполнить задание PySpark с зависимостями (файлы egg или zip) с использованием Data Factory V2.
При запуске команды непосредственно в кластере Head Node (HD Insight) в форме метода spark-submit она выглядит следующим образом (и работает):
spark-submit --py-файлы 0.3-py3.6.egg main.py 1
В фабрике данных (V2) я попытался определить следующее:
{
"name": "dimension",
"properties": {
"activities": [{
"name": "Spark1",
"type": "HDInsightSpark",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false
},
"typeProperties": {
"rootPath": "adfspark",
"entryFilePath": "main.py",
"getDebugInfo": "Always",
"sparkConfig": {
"spark.submit.pyFiles": "0.3-py3.6.egg"
},
"sparkJobLinkedService": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
}
},
"linkedServiceName": {
"referenceName": "hdinsightlinkedService",
"type": "LinkedServiceReference"
}
}
]
}
}
- Попытался указать точный путь зависимостей ("wasb://.../0.3-py3.6.egg" или adfspark/pyFiles/0.3-py3.6.egg), как предложено в этой теме: Как настроить пользовательский Параметр Spark в кластере HDInsights с фабрикой данных
Все это в контексте того, что "adfspark" является контейнером, а зависимости расположены в папке "pyFiles", так же, как это предлагается в документации Azure: https://docs.microsoft.com/en-us/azure/data-factory/tutorial-transform-data-spark-powershell с искровым PowerShell
Выполнение задания только на головном узле будет достаточным началом, хотя реальное назначение здесь - распределенное выполнение.