Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Фабрика данных Azure
Azure Synapse Analytics
Tip
Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
Azure Data Lake Storage 2-го поколения (ADLS 2-го поколения) — это набор возможностей, предназначенных для аналитики больших данных, встроенных в хранилище BLOB-объектов Azure. С его помощью можно работать с данными с использованием парадигмы файловой системы или хранилища объектов.
Note
Этот соединитель также доступен в Data Factory в Microsoft Fabric. Сведения о конфигурации и функциях Fabric см. в документации по соединителю Fabric Azure Data Lake Storage 2-го поколения.
В этой статье описывается, как использовать действие копирования для копирования данных из Azure Data Lake Storage 2-го поколения и использования Поток данных для преобразования данных в Azure Data Lake Storage 2-го поколения. Дополнительные сведения см. в вводной статье Фабрика данных Azure или Azure Synapse Analytics.
Tip
Для получения дополнительных сведений о сценарии миграции озера данных или хранилища данных см. статью Перемещение данных из озера данных или хранилища данных в Azure.
Поддерживаемые возможности
Этот соединитель Azure Data Lake Storage 2-го поколения поддерживается для следующих возможностей:
| Поддерживаемые возможности | IR | Управляемая частная конечная точка |
|---|---|---|
| Копирование данных (источник/приемник) | (1) (2) | ✓ |
| Сопоставление потока данных (источник/приемник) | ① | ✓ |
| Поисковая активность | (1) (2) | ✓ |
| Активность GetMetadata | (1) (2) | ✓ |
| Удалить действие | (1) (2) | ✓ |
(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции
Для функции действие Copy с помощью этого соединителя можно:
- Копируйте данные из или в Azure Data Lake Storage 2-го поколения с помощью ключа учетной записи, служебного принципала или управляемых удостоверений для аутентификации ресурсов Azure.
- копировать файлы "как есть" или создавать файлы с использованием поддерживаемых форматов файла и кодеков сжатия;
- сохранять метаданные файла во время копирования;
- Сохранить ACL при копировании из Azure Data Lake Storage 1-го поколения/Gen2.
Get started
Tip
Пошаговое руководство по использованию соединителя Data Lake Storage 2-го поколения см. в статье Load data in Azure Data Lake Storage 2-го поколения.
Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:
- Средство копирования данных
- портал Azure
- SDK .NET
- пакет SDK Python
- Azure PowerShell
- REST API
- шаблон Azure Resource Manager
Создание связанной службы Azure Data Lake Storage 2-го поколения с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу Azure Data Lake Storage 2-го поколения в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрика данных Azure или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".
Найдите Azure Data Lake Storage 2-го поколения и выберите соединитель Azure Data Lake Storage 2-го поколения.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
В следующих разделах содержатся сведения о свойствах, используемых для определения сущностей конвейера Фабрики данных и Synapse, относящихся к Data Lake Storage 2-го поколения.
Свойства линкованного сервиса
Соединитель Azure Data Lake Storage 2-го поколения поддерживает следующие типы проверки подлинности. Дополнительные сведения см. в соответствующих разделах:
- Проверка подлинности на основе ключа учетной записи
- Аутентификация с использованием общего ключа доступа (SAS)
- Аутентификация учетной записи службы
- Проверка подлинности с помощью назначенного системой управляемого удостоверения
- Проверка подлинности с помощью назначаемого пользователем управляемого удостоверения
Note
- Если вы хотите использовать глобальную среду выполнения интеграции Azure для подключения к Data Lake Storage 2-го поколения, включив опцию Разрешить доступ доверенным службам Microsoft к этой учетной записи хранения в брандмауэре служба хранилища Azure, необходимо использовать проверку подлинности с помощью управляемой идентификации. Дополнительные сведения о параметрах брандмауэров служба хранилища Azure см. в разделе Configure служба хранилища Azure брандмауэры и виртуальные сети.
- При использовании инструкции PolyBase или COPY для загрузки данных в Azure Synapse Analytics, если ваш исходный или промежуточный Data Lake Storage 2-го поколения настроен с использованием конечной точки Azure Virtual Network, необходимо использовать проверку подлинности управляемого удостоверения в соответствии с требованиями Azure Synapse. Дополнительные предварительные требования к конфигурации см. в разделе Проверка подлинности с использованием управляемого удостоверения.
Проверка подлинности на основе ключа учетной записи
При использовании проверки подлинности на основе ключа учетной записи поддерживаются следующие свойства.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobFS. | Yes |
| url | Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. |
Yes |
| accountKey | Ключ учетной записи для Data Lake Storage 2-го поколения. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. | Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если это свойство не указано, используется среда выполнения интеграции Azure по умолчанию. | No |
Note
Вторичная конечная точка файловой системы ADLS не поддерживается при использовании проверки подлинности ключа учетной записи. Можно использовать другие типы аутентификации.
Example:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "<accountkey>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Аутентификация с использованием общей подписи доступа (SAS)
Подпись общего доступа обеспечивает делегированный доступ к ресурсам в вашей учетной записи хранения. Вы можете использовать доступ с разделяемой подписью, чтобы предоставить клиенту ограниченные разрешения на работу с объектами в вашей учетной записи хранения в течение определенного времени.
Не нужно предоставлять совместный доступ к ключам доступа для учетной записи. Подписанный URL-адрес — это универсальный код ресурса (URI), который в своих параметрах запроса содержит все сведения, необходимые для доступа к ресурсу хранилища с прохождением аутентификации. Для доступа к ресурсам хранилища с помощью подписи общего доступа (SAS), клиенту нужно только передать SAS в соответствующий конструктор или метод.
Для получения дополнительной информации о подписях общего доступа см. статью Подписи общего доступа: понимание модели подписи общего доступа.
Note
- Сейчас служба поддерживает как подписи доступа к службам, так и подписи доступа к учетной записи. Дополнительные сведения о подписях общего доступа см. в статье Предоставление ограниченного доступа к ресурсам служба хранилища Azure с помощью подписей общего доступа.
- В более поздних конфигурациях набора данных путь к папке — это полный путь, начинающийся с уровня контейнера. Вам нужно настроить объект, согласованный с путем в вашем URI SAS.
Следующие свойства поддерживаются для использования проверки подлинности на основе общей подписанной строки доступа.
| Property | Description | Required |
|---|---|---|
| type | Свойство type должно иметь значение AzureBlobFS (предлагаемое) |
Yes |
| sasUri | Укажите URI подписи общего доступа для ресурсов хранилища, таких как BLOB или контейнер. Установите для этого поля метку SecureString для его безопасного хранения. Маркер SAS можно также поместить в Azure Key Vault, чтобы использовать автоматическую смену и удалить часть маркера. Дополнительные сведения см. в следующих примерах и в разделе Хранение учетных данных в Azure Key Vault. |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции (если хранилище данных находится в частной сети). Если это свойство не указано, служба использует среду выполнения интеграции по умолчанию Azure. | No |
Note
Если вы используете тип связанной службы AzureStorage, он по-прежнему поддерживается в текущем виде. Но мы предлагаем в дальнейшем использовать новый тип связанной службы AzureDataLakeStorageGen2.
Example:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Example: сохраните ключ учетной записи в Azure Key Vault
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
При создании URI с подписью для совместного доступа следует учитывать следующее.
- Установите для объектов соответствующие разрешения на чтение и/или запись в зависимости от использования связанной службы (чтение, запись, чтение и запись).
- Задайте время окончания срока действия соответствующим образом. Убедитесь, что срок действия доступа к объектам хранилища не истекает в период активности конвейера.
- В зависимости от потребности URI следует создать для нужного контейнера или BLOB-объекта. URI подписанного URL-адреса для большого двоичного объекта позволяет Фабрике данных Azure или конвейеру Synapse получить доступ к определенному большому двоичному объекту. URI подписанного общего доступа к контейнеру хранилища больших двоичных объектов позволяет Azure Data Factory или конвейеру Synapse выполнять итерацию по большим двоичным объектам в этом контейнере. Чтобы предоставить доступ к большему или меньшему количеству объектов позднее или обновить URI подписанного URL-адреса, не забудьте обновить связанную службу с помощью нового URI.
Аутентификация сервисного субъекта
Чтобы использовать аутентификацию с помощью учетной записи службы, выполните следующие действия.
Зарегистрируйте приложение с помощью платформа удостоверений Майкрософт. Дополнительные сведения см. в статье Quickstart: регистрация приложения с помощью платформа удостоверений Майкрософт. Запишите эти значения, которые используются для определения связанной службы:
- Идентификатор приложения
- ключ приложения.
- Идентификатор арендатора
Предоставьте сервисному принципалу правильное разрешение. Примеры того, как работают разрешения в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги Access
- В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
- В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.
Note
Если вы используете пользовательский интерфейс для создания, и для служебного главного объекта не установлена роль "Читатель данных BLOB-объектов хранилища или Участник" в IAM, во время тестирования подключения или просмотра/навигации по папкам выберите "Проверить подключение к пути к файлу" или "Обзор из указанного пути", а затем укажите путь с разрешением Чтение + Выполнение для продолжения.
Приведенные ниже свойства поддерживаются в связанной службе.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobFS. | Yes |
| url | Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. |
Yes |
| servicePrincipalId | Укажите идентификатора клиента приложения. | Yes |
| servicePrincipalCredentialType | Тип учетных данных для использования при аутентификации служебного принципала. Допустимые значения: ServicePrincipalKey и ServicePrincipalCert. | Yes |
| servicePrincipalCredential | Учетные данные субъекта-службы. При использовании в качестве типа учетных данных ServicePrincipalKey нужно указывать ключ приложения. Пометьте это поле как SecureString для безопасного хранения или для обращения к секрету, хранящемуся в Azure Key Vault. При использовании ServicePrincipalCert в качестве учетных данных, сослаться на сертификат в Azure Key Vault и убедиться, что тип контента сертификата PKCS #12. |
Yes |
| servicePrincipalKey | Укажите ключ приложения. Пометьте это поле как SecureString для безопасного хранения или для обращения к секрету, хранящемуся в Azure Key Vault. Это свойство по-прежнему поддерживается "как есть" для servicePrincipalId + servicePrincipalKey. Когда ADF добавляет проверку подлинности с использованием сертификата нового субъекта-службы, новая модель проверки подлинности для субъекта-службы представляется в следующем виде: servicePrincipalId + servicePrincipalCredentialType + servicePrincipalCredential. |
No |
| tenant | Укажите сведения о клиенте (доменное имя или идентификатор клиента), в котором находится приложение. Чтобы получить его, наведите указатель мыши на правый верхний угол портала Azure. | Yes |
| azureCloudType | Для проверки подлинности субъекта-службы укажите тип облачной среды Azure, в которой зарегистрировано приложение Microsoft Entra. Допустимые значения: AzurePublic, AzureChina, AzureUsGovernment и AzureGermany. По умолчанию используется облачная среда Фабрики данных Azure или конвейера Synapse. |
No |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. | No |
Пример: использование аутентификации с помощью ключа учетной записи сервиса
Вы также можете хранить ключ учетной записи службы в Azure Key Vault.
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример: использование аутентификации с помощью сертификата service principal
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalCredential": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<AKV reference>",
"type": "LinkedServiceReference"
},
"secretName": "<certificate name in AKV>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Проверка подлинности с помощью назначенного системой управляемого удостоверения
Фабрика данных или рабочая область Synapse могут быть связаны с управляемым удостоверением, назначаемым системой. Это системно назначенное управляемое удостоверение можно напрямую использовать для аутентификации Data Lake Storage 2-го поколения, аналогично использованию собственного Principal-службы. Он позволяет этой указанной фабрике или рабочей области получать доступ к данным и копировать их в или из Data Lake Storage 2-го поколения.
Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого системой, выполните приведенные ниже действия.
Получите сведения об управляемом удостоверении, назначаемом системой, скопировав значение идентификатора объекта управляемого удостоверения, созданного вместе с рабочей областью Фабрики данных или Synapse.
Управляемому удостоверению, назначенному системой, предоставьте соответствующее разрешение. См. примеры работы разрешений в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги.
- В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
- В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.
Приведенные ниже свойства поддерживаются в связанной службе.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobFS. | Yes |
| url | Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. |
Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. | No |
Example:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Аутентификация при помощи назначаемого пользователем управляемого удостоверения
Фабрика данных может быть назначена с одним или несколькими управляемыми идентификациями, назначенными пользователем. Это управляемое удостоверение, назначаемое пользователем, можно использовать для проверки подлинности хранилища BLOB-объектов, что позволяет получать доступ к данным и копировать данные из Data Lake Storage 2-го поколения. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Управляемые удостоверения для ресурсов Azure
Для использования аутентификации с помощью управляемой идентификации, назначенной пользователем, выполните приведенные ниже действия.
Создайте одну или несколько управляемых идентичностей, назначенных пользователем и предоставьте доступ к Azure Data Lake Storage 2-го поколения. См. примеры работы разрешений в Data Lake Storage 2-го поколения из списков управления доступом на файлы и каталоги.
- В "Обозреватель службы хранилища" предоставьте как минимум разрешение Execute для всех родительских папок и файловой системы, а также разрешение Read для файлов, которые необходимо копировать. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Модуль чтения данных BLOB-объектов хранилища.
- В качестве конечного узла: В Обозреватель службы хранилища предоставьте разрешения, по крайней мере, Execute для всех вышестоящих папок и файловой системы, а также Write для папки назначения. Можно также в Системе управления идентификацией и доступом (IAM) назначить по крайней мере роль Участник для данных BLOB-объектов хранилища.
Назначьте одно или несколько пользовательских управляемых удостоверений для вашей фабрики данных и создайте учетные данные для каждого подобного удостоверения.
Приведенные ниже свойства поддерживаются в связанной службе.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type необходимо задать значение AzureBlobFS. | Yes |
| url | Конечная точка для Data Lake Storage 2-го поколения с шаблоном https://<accountname>.dfs.core.windows.net. |
Yes |
| credentials | Укажите назначаемое пользователем управляемое удостоверение в качестве объекта учетных данных. | Yes |
| connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Можно использовать среду выполнения интеграции Azure или локальную среду выполнения интеграции, если хранилище данных находится в частной сети. Если не указано, используется среда выполнения интеграции по умолчанию Azure. | No |
Example:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Note
Если вы используете интерфейс Data Factory для создания, и для управляемого удостоверения не установлена роль "Читатель данных блоба хранилища" или "Contributor" в IAM, при тестовом подключении или навигации по папкам выберите "Проверить подключение к пути к файлу" или "Обзор из указанного пути" и укажите путь с разрешением Чтение + Выполнение для продолжения.
Important
Если вы используете инструкцию PolyBase или COPY для загрузки данных из Data Lake Storage 2-го поколения в Azure Synapse Analytics, при использовании проверки подлинности управляемого удостоверения для Data Lake Storage 2-го поколения убедитесь, что вы также выполните шаги 1–3 в this. С помощью этих шагов вы зарегистрируете сервер в Microsoft Entra ID и назначите роль участника данных BLOB-данных хранилища вашему серверу. Фабрика данных обрабатывает остальные компоненты. Если вы настраиваете хранилище объектов BLOB с конечной точкой Azure Virtual Network, необходимо также включить Разрешить доверенным сервисам Microsoft доступ к этой учетной записи хранения в разделе служба хранилища Azure учетной записи Межсетевые экраны и виртуальные сети в меню параметров, как требуется для Azure Synapse.
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в разделе Наборы данных.
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат Айсберга
- Формат JSON
- Формат ORC
- Формат файла Parquet
- ФОРМАТ XML
Следующие свойства поддерживаются для Data Lake Storage 2-го поколения в настройках location в формате набора данных:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type в разделе location в наборе данных должно быть задано значение AzureBlobFSLocation. |
Yes |
| fileSystem | Имя файловой системы Data Lake Storage 2-го поколения. | No |
| folderPath | Путь к папке в заданной файловой системе. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. | No |
| fileName | Имя файла в указанной файловой системе + путь к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. | No |
Example:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileSystem": "filesystemname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Свойства действие Copy
Полный список разделов и свойств, доступных для определения действий, см. в разделах конфигурации действий копирования и конвейеры и действия. В этом разделе представлен список свойств, поддерживаемых источником и приемником Data Lake Storage 2-го поколения.
Azure Data Lake Storage 2-го поколения в качестве исходного типа
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- формат Excel
- Формат JSON
- Формат ORC
- Формат файла Parquet
- ФОРМАТ XML
Существует несколько вариантов копирования данных из ADLS 2-го поколения:
- Скопируйте по указанному в наборе данных пути.
- фильтр с подстановочными знаками для пути к папке или имени файла (см. сведения в разделах
wildcardFolderPathиwildcardFileName); - Копируйте файлы, определенные в заданном текстовом файле как набор файлов, см.
fileListPath.
Поддерживаются следующие свойства для Data Lake Storage 2-го поколения в настройках storeSettings в источнике копирования, основанном на формате:
| Property | Description | Required |
|---|---|---|
| type | Для свойства type в разделе storeSettings необходимо задать значение AzureBlobFSReadSettings. |
Yes |
| Найдите файлы для копирования | ||
| ВАРИАНТ 1. Статический путь |
Копирование из указанной файловой системы или пути к папке либо файлу, которые указаны в наборе данных. Если вы хотите скопировать все файлы из файловой системы или папки, дополнительно укажите для wildcardFileName значение *. |
|
| ВАРИАНТ 2. Подстановочный знак — подстановочный знакFolderPath |
Путь к папке с подстановочными знаками в заданной файловой системе, настроенный в наборе данных для фильтрации исходных папок. Допустимые подстановочные знаки: * (соответствует нулю или большему количеству знаков) и ? (соответствует нулю или одному знаку). Для экранирования используйте ^, если фактическое имя папки содержит подстановочный знак или escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
No |
| ВАРИАНТ 2. Подстановочный знак — wildcardFileName |
Имя файла, содержащего подстановочные знаки, в заданной файловой системе + folderPath/wildcardFolderPath для фильтрации исходных файлов. Допустимые подстановочные знаки: * (соответствует нулю или более знаков) и ? (соответствует нулю или одному символу); используйте ^ для экранирования, если фактическое имя файла содержит подстановочный знак или этот escape-символ. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
Yes |
| Вариант 3. Список файлов - fileListPath |
Указывает, что нужно скопировать заданный набор файлов. Укажите текстовый файл со списком файлов, которые необходимо скопировать, по одному файлу в строке (каждая строка должна содержать относительный путь к заданному в наборе данных пути). При использовании этого параметра не указывайте имя файла в наборе данных. Ознакомьтесь с дополнительными примерами в разделе Примеры списков файлов. |
No |
| Дополнительные параметры: | ||
| recursive | Указывает, нужно ли читать данные рекурсивно из вложенных папок или только из указанной папки. Если для свойства recursive задано значение true, а приемником является файловое хранилище, то пустая папка или вложенная папка не копируются и не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. Это свойство не применяется при настройке fileListPath. |
No |
| deleteFilesAfterCompletion | Указывает, удаляются ли двоичные файлы из исходного хранилища после успешного перемещения в конечное хранилище. Удаление файла выполняется для каждого файла, поэтому при сбое действия копирования вы увидите, что некоторые файлы уже скопированы в место назначения и удалены из источника, а другие остаются в исходном хранилище. Это свойство допустимо только в сценарии копирования двоичных файлов. По умолчанию имеет значение false. |
No |
| modifiedDatetimeStart | Фильтр файлов на основе атрибута: Last Modified. Будут выбраны все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd. Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Эти свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не будут применяться к этому набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то будут выбраны файлы, чей атрибут последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то будут выбраны все файлы, чей атрибут последнего изменения меньше указанного значения даты и времени.Это свойство не применяется при настройке fileListPath. |
No |
| modifiedDatetimeEnd | То же, что выше. | No |
| enablePartitionDiscovery | Для файлов, секционированных, укажите, следует ли анализировать секции из пути к файлу и добавлять их в качестве других исходных столбцов. Допустимые значения: false (по умолчанию) и true. |
No |
| partitionRootPath | Если обнаружение секций включено, укажите абсолютный корневой путь, чтобы считывать секционированные папки как столбцы данных. Если это не указано, используется значение по умолчанию — При использовании пути к файлу в наборе данных или списке файлов в источнике корневым путем секции считается путь, настроенный в наборе данных. — При использовании фильтра папки с подстановочными знаками корневым путем раздела считается часть пути до первого подстановочного знака. Предположим, что вы настроили путь в наборе данных следующим образом: "root/folder/year=2020/month=08/day=27". — Если указать корневой путь секции "root/folder/year=2020", действие копирования в дополнение к указанным в файлах столбцам создаст еще два столбца, month и day, со значениями "08" и "27" соответственно.— Если корневой путь секции не указан, дополнительный столбец не будет создан. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Example:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureBlobFSReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Data Lake Storage 2-го поколения в качестве типа приемника
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- Формат Айсберга
- Формат JSON
- Формат ORC
- Формат файла Parquet
Следующие свойства поддерживаются для Data Lake Storage 2-го поколения в параметрах storeSettings в приемнике копирования, основанном на формате.
| Property | Description | Required |
|---|---|---|
| type | Для свойства type в разделе storeSettings необходимо задать значение AzureBlobFSWriteSettings. |
Yes |
| copyBehavior | Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных. Допустимые значения: — PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке. — FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена. — MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя файла, то оно присваивается объединенному файлу. В противном случае присваивается автоматически созданное имя файла. |
No |
| blockSizeInMB | Укажите размер блока в МБ, используемый для записи данных в Azure Data Lake Storage 2-го поколения. Узнайте больше о блочных BLOB-объектaх. Допустимое значение — от 4 до 100 МБ. По умолчанию ADF автоматически определяет размер блока на основе типа и данных исходного хранилища. Для копирования недвоичных файлов в Azure Data Lake Storage 2-го поколения размер блока по умолчанию составляет 100 МБ, что позволяет разместить приблизительно 4,75 ТБ данных. Это может быть не оптимальное решение, если данные небольшие, особенно если вы используете локальную интеграционную среду выполнения с некачественным сетевым соединением, что ведёт к возникновению проблем с временем ожидания операции или производительностью. Вы можете явно указать размер блока, хотя убедитесь, что blockSizeInMB*50000 достаточно велик для хранения данных, в противном случае выполнение действия копирования завершится ошибкой. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
| metadata | Задайте пользовательские метаданные при копировании в приемник. Каждый объект в массиве metadata представляет дополнительный столбец.
name определяет имя ключа метаданных, а value указывает значение данных этого ключа. Если используется функция сохранения атрибутов, указанные метаданные будут объединены с метаданными исходного файла или перезаписаны ими.Допустимые значения данных: - $$LASTMODIFIED: зарезервированная переменная указывает на сохранение времени последнего изменения исходных файлов. Она применяется к файловому источнику, который может быть только в двоичном формате.Выражение - Статическое значение |
No |
Example:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
},
{
"name": "lastModifiedKey",
"value": "$$LASTMODIFIED"
}
]
}
}
}
}
]
Примеры фильтров папок и файлов
В этом разделе описывается результирующее поведение пути папки и имени файла при использовании фильтров с подстановочными знаками.
| folderPath | fileName | recursive | Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом) |
|---|---|---|---|
Folder* |
(Пусто, используйте значение по умолчанию) | false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(Пусто, используйте значение по умолчанию) | true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
false | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
true | FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Примеры списков файлов
В этом разделе описывается поведение, возникающее при указании пути к списку файлов в качестве источника для действия копирования.
Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом:
| Пример исходной структуры | Содержимое файла FileListToCopy.txt | Конфигурация ADF |
|---|---|---|
| filesystem FolderA File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv Metadata FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
В наборе данных: - файловая система: filesystem– Путь к папке: FolderAВ источнике действия копирования: – Путь к списку файлов: filesystem/Metadata/FileListToCopy.txt Путь к списку файлов указывает на текстовый файл в том же хранилище данных, содержащий список файлов, которые необходимо скопировать, указав по одному файлу в строке с относительным путем к пути, заданному в наборе данных. |
Некоторые примеры рекурсивных и копирования поведения
В данном разделе описываются результаты выполнения операции копирования при использовании различных сочетаний значений recursive и copyBehavior.
| recursive | copyBehavior | Структура папок источника | Полученная цель |
|---|---|---|---|
| true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая "Папка1" создается с такой же структурой, как и исходная папка: Folder1 File1 File2 Subfolder1 File3 File4 File5 |
| true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка1 создается со следующей структурой: Folder1 автоматически созданное имя для "Файл1" автогенерируемое имя для Файл2 автогенерированное имя для File3 автоматически созданное имя для 'File4' автоматически созданное имя для "Файл5" |
| true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка1 создается со следующей структурой: Folder1 Содержимое файлов "Файл1", "Файл2", "Файл3", "Файл4" и "Файл5" объединяется в один файл с автоматически созданным именем. |
| false | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка1 создается со следующей структурой: Folder1 File1 File2 Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается. |
| false | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка1 создается со следующей структурой: Folder1 автоматически созданное имя для "Файл1" автогенерируемое имя для Файл2 Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается. |
| false | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
Целевая папка1 создается со следующей структурой: Folder1 Содержимое файлов "Файл1" и "Файл2" объединяется в один файл с автоматически созданным именем. автоматически созданное имя для "Файл1" Подпапка1 с файлами Файл3, Файл4 и Файл5 не учитывается. |
Сохранение метаданных файла во время копирования
При копировании файлов из Amazon S3/объектов Azure Blob/Azure Data Lake Storage 2-го поколения в хранилище Azure Data Lake Storage 2-го поколения/объекты Azure Blob, вы можете выбрать сохранение метаданных файла вместе с данными. Подробнее см. в разделе Сохранение метаданных.
Сохранение списков управления доступом из Data Lake Storage 1-го поколения/Gen2
При копировании файлов из Azure Data Lake Storage 1-го поколения/2-го поколения в 2-го поколения можно сохранить списки управления доступом POSIX наряду с данными. Узнайте больше в сохранении списков управления доступом из Data Lake Storage 1-го поколения/Gen2 в Gen2.
Tip
Общие сведения о копировании данных из хранилища Azure Data Lake Storage 1-го поколения в Gen2 см. в статье Копирование данных из Azure Data Lake Storage 1-го поколения в Gen2 для пошаговых инструкций и рекомендаций.
Сопоставление свойств потока данных
При преобразовании данных в потоках данных сопоставления можно считывать и записывать файлы из Azure Data Lake Storage 2-го поколения в следующих форматах:
Конкретные параметры приведены в документации для соответствующего формата. Дополнительные сведения см. в статьях Преобразование источника в потоке данных для сопоставления и Преобразование приемника в потоке данных для сопоставления.
Преобразование источника
В преобразовании источника можно прочитать из контейнера, папки или отдельного файла в Azure Data Lake Storage 2-го поколения. Настройки управления чтением файлов находятся на вкладке Параметры источника.
Шаблон пути подстановочных знаков: использование шаблона подстановочных знаков приводит к тому, что ADF выполняет цикл через каждую совпадающую папку и файл в рамках одного источника преобразования. Это эффективный способ обработки нескольких файлов в одном потоке. Добавьте несколько шаблонов сопоставления с подстановочными знаками с помощью значка плюса ("+"), который появляется при наведении указателя мыши на существующий шаблон с подстановочными знаками.
В исходном контейнере выберите файлы, соответствующие шаблону. В наборе данных можно указать только контейнер. Путь с подстановочными знаками должен также включать путь к папке из корневой папки.
Примеры подстановочных знаков:
*— представляет любой набор символов;**— представляет рекурсивную вложенность каталога;?— заменяет один символ;[]— соответствует одному или нескольким символам в квадратных скобках;/data/sales/**/*.csv— возвращает все файлы CSV в папке /data/sales;/data/sales/20??/**/— возвращает все файлы, созданные в 20 веке;/data/sales/*/*/*.csv— возвращает файлы CSV, расположенные двумя уровнями ниже папки /data/sales;/data/sales/2004/*/12/[XY]1?.csv— возвращает все файлы CSV, созданные в декабре 2004 года, которые начинаются с X или Y с двузначным числом в качестве префикса.
Корневой путь раздела. Если в источнике файлов имеются секционированные папки формата key=value (например, year=2019), то верхний уровень этого дерева секционированной папки можно назначить в качестве имени столбца в потоке данных.
Во-первых, задайте подстановочный знак, чтобы включить все пути, которые являются в секционированных папках, а также конечные файлы, которые вы хотите прочитать.
Для определения верхнего уровня структуры папок используйте параметр "Корневой путь раздела". При просмотре содержимого данных с помощью предварительного просмотра данных вы увидите, что ADF добавит разрешенные разделы, найденные на каждом уровне папок.
Список файлов: это набор файлов. Создайте текстовый файл, содержащий список файлов с их относительными путями для обработки. Укажите на этот текстовый файл.
Столбец для хранения имени файла: сохраните имя исходного файла в столбце в данных. Укажите здесь новое имя столбца для хранения строки имени файла.
После завершения: выберите, что делать с исходным файлом: ничего не делать, удалить или переместить его после запуска потока данных. Пути для перемещения являются относительными.
Чтобы переместить исходные файлы в другое расположение после обработки, сначала выберите "Переместить" для операции с файлом. Затем задайте исходную директорию. Если вы не используете подстановочные знаки в пути, исходным каталогом будет та же папка, что и исходная папка.
Если у вас есть исходный путь с подстановочным знаком, синтаксис будет выглядеть следующим образом.
/data/sales/20??/**/*.csv
Вы можете указать значение "from" в качестве исходной папки
/data/sales
И как параметр "to"
/backup/priorSales
В этом случае все файлы, источником которых является папка /data/sales, перемещаются в папку /backup/priorSales.
Note
Операции с файлами выполняются только при запуске потока данных из конвейера данных (отладка или выполнение конвейера), который использует действие выполнения потока данных в конвейере. Операции с файлами не выполняются в режиме отладки Поток данных.
Фильтр по последнему изменению: вы можете фильтровать файлы, обрабатываемые путем указания диапазона дат последнего изменения. Все значения даты и времени указаны в формате UTC.
Включите запись измененных данных: Если задано значение true, вы получите новые или измененные файлы только из последнего запуска. При первом запуске всегда выполняется начальная загрузка данных, то есть получается полный моментальный снимок, а при следующих запусках записываются только новые или измененные файлы. Дополнительные сведения см. в разделе "Изменение записи данных".
Свойства синка
В преобразовании приемника можно записать в контейнер или папку в Azure Data Lake Storage 2-го поколения. Вкладка "Параметры" позволяет управлять записью файлов.
Очистить папку: определяет, очищается ли целевая папка перед записью данных.
Параметр имени файла: определяет, как целевые файлы именуются в целевой папке. Доступные параметры имени файла:
- По умолчанию: разрешить Spark именовать файлы на основе значений PART по умолчанию.
- Шаблон. Введите шаблон, который перечисляет выходные файлы на секцию. Например, при использовании шаблона loans[n].csv будут создаваться файлы loans1.csv, loans2.csv и т. д.
- На раздел: введите одно имя файла для каждого раздела.
- Как данные в столбце: задайте выходной файл значению столбца. Путь задается относительно контейнера набора данных, а не папки назначения. Если в наборе данных имеется путь к папке, он будет переопределен.
- Выходные данные в один файл: объединение секционированных выходных файлов в один именованный файл. Путь задается относительно папки набора данных. Помните, что операция слияния может завершиться ошибкой из-за размера узла. Этот параметр не рекомендуется использовать для больших наборов данных.
Заключить все в кавычки: определяет, следует ли заключать все значения в кавычки
umask
При необходимости можно установить флаги POSIX чтения, записи и выполнения для владельца, пользователя и группы для файлов.
Команды предварительной и последующей обработки
При необходимости можно выполнить команды файловой системы Hadoop до или после записи в приемник ADLS 2-го поколения. Поддерживаются следующие команды:
cpmvrmmkdir
Examples:
mkdir /folder1mkdir -p folder1mv /folder1/*.* /folder2/cp /folder1/file1.txt /folder2rm -r /folder1
Параметры также поддерживаются в построителе выражений, например:
mkdir -p {$tempPath}/commands/c1/c2
mv {$tempPath}/commands/*.* {$tempPath}/commands/c1/c2
По умолчанию папки создаются от имени пользователя или root. Для ссылки на контейнер верхнего уровня используйте "/".
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Свойства действия GetMetadata
Подробные сведения об этих свойствах см. в статье Действие GetMetadata.
Удалить свойства действия
Чтобы узнать подробности о свойствах, ознакомьтесь с Удалить активность.
Устаревшие модели
Note
Следующие модели по-прежнему поддерживаются на условиях "как есть" для обеспечения обратной совместимости. Вам предлагается использовать новую модель, указанную в приведенных выше разделах, и пользовательский интерфейс разработки ADF переключился на создание новой модели.
Устаревшая модель набора данных
| Property | Description | Required |
|---|---|---|
| type | Свойство type для набора данных должно иметь значение AzureBlobFSFile. | Yes |
| folderPath | Путь к папке в Data Lake Storage 2-го поколения. Если не указано, указывает на корень. Поддерживается фильтр подстановочных знаков. Допустимые подстановочные знаки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования, если имя вашей фактической папки содержит подстановочный знак или в нём находится эта escape-последовательность. Примеры: файловая система/папка/. Дополнительные примеры приведены в разделе Примеры фильтров папок и файлов. |
No |
| fileName | Имя или фильтр подстановочных знаков для файлов по указанному folderPath. Если этому свойству не присвоить значение, набор данных будет указывать на все файлы в папке. Допустимые подстановочные знаки для фильтра: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу).Пример 1. "fileName": "*.csv"Пример 2. "fileName": "???20180427.txt"Используйте ^ для экранирования, если фактическое имя файла содержит подстановочный знак или символ экранирования.Если имя файла не указано для выходного набора данных и preserveHierarchy не указано в приемнике активности, действие копирования автоматически генерирует имя файла по следующему шаблону: "Data.[идентификатор GUID выполнения активности].[GUID, если FlattenHierarchy].[формат, если установлен].[сжатие, если установлено]", например, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". При копировании из табличного источника с использованием имени таблицы вместо запроса формат имени будет таким: "[имя таблицы].[фoрмат].[сжатие, если настроено]". Например: "MyTable.csv". |
No |
| modifiedDatetimeStart | Фильтр файлов на основе атрибута времени последнего изменения. Выбираются все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd. Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных. Свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не применяются к набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени. |
No |
| modifiedDatetimeEnd | Фильтр файлов на основе атрибута времени последнего изменения. Выбираются все файлы, у которых время последнего изменения больше или равно modifiedDatetimeStart и меньше modifiedDatetimeEnd. Время представлено часовым поясом UTC в формате "2018-12-01T05:00:00Z". Включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных. Свойства могут иметь значение NULL. Это означает, что фильтры атрибута файла не применяются к набору данных. Если для параметра modifiedDatetimeStart задано значение даты и времени, но параметр modifiedDatetimeEnd имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения больше указанного значения даты и времени или равен ему. Если для параметра modifiedDatetimeEnd задано значение даты и времени, но параметр modifiedDatetimeStart имеет значение NULL, то выбираются файлы, чей атрибут времени последнего изменения меньше указанного значения даты и времени. |
No |
| format | Если требуется скопировать файлы между файловыми хранилищами "как есть" (двоичное копирование), можно пропустить раздел форматирования в определениях входного и выходного наборов данных. Если нужно проанализировать или создать файлы определенного формата, поддерживаются следующие типы форматов файлов: TextFormat, JsonFormat, AvroFormat, OrcFormat и ParquetFormat. Свойству type в разделе format необходимо присвоить одно из этих значений. Дополнительные сведения см. в разделах о текстовом формате, формате JSON, формате Avro, формате ORC и формате Parquet. |
Нет (только для сценария двоичного копирования) |
| compression | Укажите тип и уровень сжатия данных. Дополнительные сведения см. в разделе Поддержка сжатия. Поддерживаемые типы: **GZip**, **Deflate**, **BZip2**, and **ZipDeflate**.Поддерживаемые уровни: Optimal и Fastest. |
No |
Tip
Чтобы скопировать все файлы в папке, укажите только folderPath.
Чтобы скопировать один файл с заданным именем, укажите folderPath с путем к папке и fileName с именем файла.
Чтобы скопировать подмножество файлов в папке, укажите folderPath с частью папки и fileName с фильтром подстановочных знаков.
Example:
{
"name": "ADLSGen2Dataset",
"properties": {
"type": "AzureBlobFSFile",
"linkedServiceName": {
"referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "myfilesystem/myfolder",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Устаревшая модель источника процесса копирования
| Property | Description | Required |
|---|---|---|
| type | Свойство "type" источника действия копирования должно иметь значение AzureBlobFSSource. | Yes |
| recursive | Указывает, нужно ли читать данные рекурсивно из вложенных папок или только из указанной папки. Если для свойства recursive задано значение true, а приемником является файловое хранилище, то пустая папка или вложенная папка не копируются и не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Example:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<ADLS Gen2 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureBlobFSSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Устаревшая модель приемника действия копирования
| Property | Description | Required |
|---|---|---|
| type | Свойство type приемника действия копирования должно иметь значение AzureBlobFSSink. | Yes |
| copyBehavior | Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных. Допустимые значения: — PreserveHierarchy (по умолчанию). Сохраняет иерархию файлов в целевой папке. Относительный путь исходного файла в исходной папке идентичен относительному пути целевого файла в целевой папке. — FlattenHierarchy. Все файлы из исходной папки размещаются на первом уровне в целевой папке. Целевые файлы имеют автоматически сформированные имена. — MergeFiles. Объединяет все файлы из исходной папки в один файл. Если указано имя файла, то оно присваивается объединенному файлу. В противном случае присваивается автоматически созданное имя файла. |
No |
| maxConcurrentConnections | Верхний предел одновременных подключений, установленных для хранилища данных в процессе выполнения действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. | No |
Example:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ADLS Gen2 output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "AzureBlobFSSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
отслеживание изменений данных
Фабрика данных Azure может получать новые или измененные файлы только из Azure Data Lake Storage 2-го поколения, включив функцию Enable change data capture в преобразовании источника сопоставления потока данных. Этот параметр соединителя позволяет считывать только новые или обновленные файлы и применять преобразования перед загрузкой преобразованных данных в нужные целевые наборы.
Ни в коем случае не изменяйте имена конвейера и действия, чтобы контрольная точка последнего запуска всегда была доступна для анализа и получения изменений. При изменении имени конвейера или имени действия контрольная точка будет сброшена, и вы начнете заново с начала следующего запуска процесса.
При отладке конвейера также можно использовать параметр Включить отслеживание измененных данных. Контрольная точка будет сбрасываться при обновлении браузера во время отладки. После выполнения отладки вы можете опубликовать и активировать конвейер. Будет всегда начинаться с начала, независимо от предыдущей контрольной точки, зафиксированной при выполнении отладки.
В разделе мониторинга вы всегда можете повторно запустить поток. При этом изменения всегда берутся из записи контрольной точки в выбранном запуске конвейера.
Связанный контент
Список хранилищ данных, поддерживаемых в рамках функции копирования в качестве источников и приемников, см. в разделе Поддерживаемые хранилища данных.