Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Azure Data Factory
Azure Synapse Analytics
Совет
Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
Действие Spark в фабрике данных и конвейере Synapse выполняет программу Spark в вашем кластере HDInsight или в кластере HDInsight по запросу. Данная статья основана на материалах статьи о действиях преобразования данных , в которой приведен общий обзор преобразования данных и список поддерживаемых действий преобразования. Если вы используете связанную службу Spark по требованию, служба автоматически создает кластер Spark для обработки данных, когда это необходимо, а затем удаляет его после завершения обработки.
Добавление действия Spark в конвейер с помощью пользовательского интерфейса
Чтобы использовать действие Spark в конвейере, выполните следующие действия:
Выполните поиск элемента Spark на панели конвейера «Действия» и перетащите действие Spark на холст конвейера.
Выберите новое действие Spark на холсте, если оно еще не выбрано.
Перейдите на вкладку Кластер HDI, чтобы выбрать или создать связанную службу для кластера HDInsight, которая будет использоваться для выполнения действия Spark.
Перейдите на вкладку Script / Jar, чтобы выбрать или создать новую службу, связанную с учетной записью Azure Storage, где будет размещен ваш скрипт. Укажите путь к файлу для выполнения. Можно также настроить дополнительные сведения, включая пользователя прокси-сервера, конфигурацию отладки, а также аргументы и параметры конфигурации Spark, которые будут переданы в скрипт.
Свойства действия Spark
Ниже приведен пример определения JSON действия Spark.
{
"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"
]
}
}
В следующей таблице приведено описание свойств, используемых в определении JSON.
| Свойство | Описание: | Обязательное поле |
|---|---|---|
| имя | Имя действия в конвейере. | Да |
| описание | Текст, описывающий, что делает это действие. | Нет |
| тип | Для действия Spark используется тип действия HDInsightSpark. | Да |
| имяСвязанногоСервиса | Имя связанной службы Spark HDInsight, в которой выполняется программа Spark. Дополнительные сведения об этой связанной службе см. в статье Связанные вычислительные службы. | Да |
| SparkJobLinkedService | Связанная служба Azure Storage, содержащая файл задания Spark, зависимости и журналы. Поддерживаются только Azure Blob Storage и ADLS Gen2 связанные службы. Если значение этого свойства не указано, используется хранилище, связанное с кластером HDInsight. Значение этого свойства может быть только службой, связанной с Azure Storage. | Нет |
| корневой путь | Контейнер и папка в Azure Blob Storage, содержащие файл Spark. Имя файла чувствительно к регистру. Подробнее о структуре этой папки см. в разделе о структуре папок (следующий раздел). | Да |
| путь к файлу входа | Относительный путь к корневой папке пакета и кода Spark. Файл записи должен быть файлом Python или файлом .jar. | Да |
| className | Основной класс приложения Java/Spark | Нет |
| аргументы | Список аргументов командной строки для программы Spark. | Нет |
| proxyUser | Учетная запись пользователя для олицетворения, используемая для выполнения программы Spark. | Нет |
| sparkConfig | Укажите значения для свойств конфигурации Spark, перечисленных в разделе Конфигурация Spark — свойства приложения. | Нет |
| getDebugInfo | Указывает, когда файлы журналов Spark копируются в хранилище Azure, используемое кластером HDInsight (или), указанным sparkJobLinkedService. Допустимые значения: Нет, Всегда или Ошибка. Значение по умолчанию: None. | Нет |
Структура папок
Задания Spark обеспечивают большую гибкость, чем задания Pig и Hive. Для заданий Spark можно предоставить несколько зависимостей, таких как jar-пакеты (помещенные в Java CLASSPATH), Python файлы (помещенные в PYTHONPATH) и любые другие файлы.
Создайте следующую структуру папок в хранилище BLOB-объектов Azure, на который ссылается связанная служба HDInsight. Затем передайте зависимые файлы в соответствующие вложенные папки в корневой папке, определенной значением entryFilePath. Например, загрузите файлы Python в подпапку pyFiles, а файлы jar — в подпапку jars корневой папки. Во время выполнения служба ожидает следующую структуру папок в хранилище BLOB-объектов Azure:
| Путь | Описание: | Обязательное поле | Тип |
|---|---|---|---|
. (корень) |
Путь к корневому каталогу задания Spark в хранилище связанной службы. | Да | Папка |
| <Определяется пользователем> | Путь, указывающий на входной файл задания Spark. | Да | Файлы |
| ./jars | Все файлы в этой папке загружаются и добавляются в класспас Java кластера. | Нет | Папка |
| ./pyFiles | Все файлы в этой папке передаются и помещаются в папку PYTHONPATH для кластера. | Нет | Папка |
| ./files | Все файлы в этой папке передаются и помещаются в рабочий каталог исполнителя. | Нет | Папка |
| ./архивы | Все файлы в этой папке не сжаты. | Нет | Папка |
| ./logs | Папка, в которой содержатся журналы из кластера Spark. | Нет | Папка |
Ниже приведен пример хранилища, содержащего два файла задания Spark в Azure Blob Storage, на который ссылается связанная служба HDInsight.
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
Связанный контент
Ознакомьтесь со следующими ссылками, в которых описаны способы преобразования данных другими способами: