A
Копирование данных в хранилище Azure Data Lake Storage 1-го поколения и из него с помощью Фабрики данных Azure или Azure Synapse Analytics

Копирование данных в хранилище Azure Data Lake Storage 1-го поколения и из него с помощью Фабрики данных Azure или Azure Synapse Analytics

В этой статье описывается копирование данных в Azure Data Lake Storage 1-го поколения и из него. Дополнительные сведения см. в вводной статье о Фабрике данных Azure или Azure Synapse Analytics.

Поддерживаемые возможности

Этот соединитель Azure Data Lake Storage 1-го поколения предназначен для выполнения следующих действий.

    с использованием таблицы поддерживаемых источников/приемников

В частности, с помощью этого соединителя вы можете выполнять следующие задачи.

  • Копирование файлов с использованием одного из следующих методов проверки подлинности: на основе субъекта-службы или управляемых удостоверений ресурсов Azure.
  • Копирование файлов "как есть" или создание файлов с использованием поддерживаемых форматов файлов и кодеков сжатия. при копировании в Azure Data Lake Storage 2-го поколения.

Если вы копируете данные с использованием локальной среды выполнения интеграции, настройте корпоративный брандмауэр, чтобы разрешить исходящий трафик в <ADLS account name>.azuredatalakestore.net и login.microsoftonline.com/<tenant>/oauth2/token через порт 443. Последняя – это служба токенов безопасности Azure, с которой должна взаимодействовать среда выполнения интеграции для получения маркера доступа.

Начало работы

Пошаговое руководство по использованию соединителя Azure Data Lake Store см. в статье Загрузка данных в Azure Data Lake Store.

Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:

Создание связанной службы для Azure Data Lake Storage 1-го поколения с помощью пользовательского интерфейса

Выполните приведенные ниже действия, чтобы создать связанную службу для Azure Data Lake Storage 1-го поколения с помощью пользовательского интерфейса на портале Azure.

Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", затем нажмите "Создать":

  • Фабрика данных Azure.
  • Azure Synapse

Выполните поиск по строке "Azure Data Lake Storage Gen1" и выберите соединитель Azure Data Lake Storage 1-го поколения.

Настройте сведения о службе, проверьте подключение и создайте связанную службу.

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей, характерных для Azure Data Lake Storage 1-го поколения.

Свойства связанной службы

Для связанной службы Azure Data Lake Store поддерживаются следующие свойства:

Свойство Описание Обязательно type Для свойства type следует задать значение AzureDataLakeStore. Да dataLakeStoreUri Сведения об учетной записи Azure Data Lake Store. Эти данные принимают один из следующих форматов: https://[accountname].azuredatalakestore.net/webhdfs/v1 или adl://[accountname].azuredatalakestore.net/ . Да subscriptionId Идентификатор подписки Azure, к которой принадлежит учетная запись Data Lake Store. Необходимо для приемника имя_группы_ресурсов Имя группы ресурсов Azure, к которой принадлежит учетная запись Data Lake Store. Необходимо для приемника connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Вы можете использовать Azure Integration Runtime или локальную среду IR (если хранилище данных расположено в частной сети). Если это свойство не задано, используется Azure Integration Runtime по умолчанию. нет

Использование аутентификации субъекта-службы

Чтобы использовать проверку подлинности на основе субъекта-службы, выполните следующие действия.

Зарегистрируйте сущность приложения в Azure Active Directory и предоставьте ей доступ к Data Lake Store. Подробные инструкции см. в статье Аутентификация между службами в Data Lake Store с помощью Azure Active Directory. Запишите следующие значения, которые используются для определения связанной службы:

  • Идентификатор приложения
  • Ключ приложения
  • Tenant ID

Предоставьте правильное разрешение субъекту-службе. Примеры использования разрешения в Data Lake Storage 1-го поколения см. в статье Контроль доступа в Azure Data Lake Storage 1-го поколения.

  • В качестве источника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на чтение для копируемых файлов. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию. Требования к управлению доступом на уровне учетной записи (IAM) отсутствуют.
  • В качестве приемника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на запись для папки приемника. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию.

Поддерживаются следующие свойства:

Свойство Описание Обязательно servicePrincipalId Укажите идентификатора клиента приложения. Да servicePrincipalKey Укажите ключ приложения. Пометьте это поле как SecureString , чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. Да tenant Укажите сведения о клиенте, такие как доменное имя или идентификатор клиента, в котором находится приложение. Эти сведения можно получить, наведя указатель мыши на правый верхний угол страницы портала Azure. Да azureCloudType Для проверки подлинности субъекта-службы укажите тип облачной среды Azure, в которой зарегистрировано приложение Azure Active Directory. Допустимые значения: AzurePublic, AzureChina, AzureUsGovernment и AzureGermany. По умолчанию используется облачная среда службы. Нет

Пример.

Использование проверки подлинности с помощью управляемого удостоверения, назначаемого системой

Фабрику данных или рабочую область Synapse можно связать с управляемым удостоверением, назначаемым системой, которое представляет службу для проверки подлинности. Это управляемое удостоверение, назначаемое системой можно напрямую использовать для проверки подлинности Data Lake Store так же, как собственный субъект-службу. Оно разрешает выделенному ресурсу обращаться к данным и копировать их из службы Data Lake Store и в нее.

Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого системой, выполните приведенные ниже действия.

Получите сведения об управляемом удостоверении, назначаемом системой, скопировав значение идентификатора приложения удостоверения службы, созданного вместе с фабрикой или рабочей областью Synapse.

Предоставьте управляемому удостоверению, назначаемому системой, доступ к Data Lake Store. Примеры использования разрешения в Data Lake Storage 1-го поколения см. в статье Контроль доступа в Azure Data Lake Storage 1-го поколения.

  • В качестве источника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на чтение для копируемых файлов. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию. Требования к управлению доступом на уровне учетной записи (IAM) отсутствуют.
  • В качестве приемника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на запись для папки приемника. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию.

Не нужно указывать ничего, кроме общих сведений о Data Lake Store в связанной службе.

Пример.

Проверка подлинности с помощью управляемого удостоверения, назначаемого системой

Фабрике данных может быть назначено одно или несколько управляемых удостоверений, назначаемых пользователем. Такое удостоверение можно использовать для проверки подлинности хранилища BLOB-объектов, что позволяет получать доступ к данным и копировать их в Data Lake Store и обратно. Дополнительные сведения об управляемых удостоверениях для ресурсов Azure см. в статье Что такое управляемые удостоверения для ресурсов Azure?

Для использования проверки подлинности с помощью управляемого удостоверения, назначаемого пользователем, выполните приведенные ниже действия.

Создайте одно или несколько удостоверенный, назначаемых пользователем, и предоставьте доступ к Azure Data Lake. Примеры использования разрешения в Data Lake Storage 1-го поколения см. в статье Контроль доступа в Azure Data Lake Storage 1-го поколения.

  • В качестве источника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на чтение для копируемых файлов. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию. Требования к управлению доступом на уровне учетной записи (IAM) отсутствуют.
  • В качестве приемника. Выберите Обозреватель данных>Доступ и предоставьте как минимум разрешение на выполнение для всех вышестоящих папок, включая корневую, а также разрешение на запись для папки приемника. Вы можете выбрать добавление в эту папку и все дочерние элементы для свойства recursive и добавить в качестве записи разрешения доступа и записи разрешения по умолчанию.

Присвойте одно или несколько управляемых удостоверений, назначаемых пользователем, фабрике данных и создайте учетные данные для каждого такого удостоверения.

Поддерживается следующее свойство:

Свойство Описание Обязательное значение credentials Укажите назначаемое пользователем управляемое удостоверение в качестве объекта учетных данных. Да

Пример.

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных.

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Ниже перечислены свойства, которые поддерживаются для Azure Data Lake Storage 1-го поколения в настройках location в наборе данных на основе формата.

Свойство Описание Обязательно type Свойству type в разделе location в наборе данных должно быть задано значение AzureDataLakeStoreLocation. Да folderPath Путь к папке. Если вы хотите использовать подстановочный знак для фильтрации папок, пропустите этот параметр и укажите его в параметрах источника действия. Нет fileName Имя файла в заданном пути к папке. Если вы хотите использовать подстановочный знак для фильтрации файлов, пропустите этот параметр и укажите его в параметрах источника действия. Нет

Пример.

Свойства действия копирования

Полный список разделов и свойств, доступных для определения действий, см. в разделе Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником и приемником Azure Data Lake Store.

Azure Data Lake Store в качестве источника

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Ниже перечислены свойства, которые поддерживаются для Azure Data Lake Storage 1-го поколения в настройках storeSettings в источнике копирования на основе формата.

Если он не указан, то по умолчанию:– при использовании пути к файлу в наборе данных или списке файлов в источнике корневым путем секции считается путь, настроенный в наборе данных;– при использовании фильтра папки с подстановочными знаками корневым путем секции считается часть пути до первого подстановочного знака.

Пример.

Azure Data Lake Store в качестве приемника

Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.

Ниже перечислены свойства, которые поддерживаются для Azure Data Lake Storage 1-го поколения в настройках storeSettings в приемнике копирования на основе формата.

Пример.

Примеры фильтров по диапазону имен

В этом разделе описываются результаты применения фильтров по диапазону имен.

Примеры фильтров папок и файлов

В этом разделе описываются результаты применения фильтров с подстановочными знаками к пути папки и имени файла.

folderPath fileName recursive Структура исходной папки и результат фильтрации (извлекаются файлы, выделенные полужирным шрифтом) Folder* (Пусто, используйте значение по умолчанию) false ПапкаA Файл1.csv Файл2.json Вложенная_папка1 Файл3.csv Файл4.json Файл5.csvДругая_папкаB Файл6.csv Folder* (Пусто, используйте значение по умолчанию) Да ПапкаA Файл1.csv Файл2.json Вложенная_папка1 Файл3.csv File4.json Файл5.csvДругая_папкаB Файл6.csv Folder* *.csv false ПапкаA Файл1.csv Файл2.json Вложенная_папка1 Файл3.csv Файл4.json Файл5.csvДругая_папкаB Файл6.csv Folder* *.csv Да ПапкаA Файл1.csv Файл2.json Вложенная_папка1 File3.csv Файл4.json Файл5.csvДругая_папкаB Файл6.csv

Примеры списков файлов

В этом разделе описывается результирующее поведение при использовании пути к списку файлов в источнике действия копирования.

Предположим, что у вас есть следующая исходная структура папок и вы хотите скопировать файлы, выделенные полужирным шрифтом.

В источнике действия копирования:— Путь к списку файлов: root/Metadata/FileListToCopy.txt

Примеры поведения операции копирования

В данном разделе описываются результаты выполнения операции копирования при использовании различных сочетаний значений recursive и copyBehavior .

Папка1 Файл1 Файл2

Папка1 автоматически созданное имя для "Файл1" автоматически созданное имя для "Файл2"

Папка1 Содержимое файлов "Файл1" и "Файл2" объединяется в один файл с автоматически созданным именем. автоматически созданное имя для "Файл1"

Сохранение списков управления доступом в Data Lake Storage 2-го поколения

Пошаговые инструкции и рекомендации по копированию данных из Azure Data Lake Storage 1-го поколения в Azure Data Lake Storage 2-го поколения см. в статье Копирование данных из Azure Data Lake Storage 1-го поколения в Azure Data Lake Storage 2-го поколения с помощью Фабрики данных Azure.

Если при обновлении с Data Lake Storage 1-го поколения до Data Lake Storage 2-го поколения требуется реплицировать списки управления доступом (ACL) вместе с файлами данных, см. сведения в разделе о сохранении списков управления доступом из Data Lake Storage 1-го поколения.

Свойства потока данных для сопоставления

При преобразовании данных в потоках данных для сопоставления можно считывать и записывать файлы из Azure Data Lake Storage 1-го поколения в следующих форматах:

Конкретные параметры приведены в документации для соответствующего формата. Дополнительные сведения см. в статьях Преобразование источника в потоке данных для сопоставления и Преобразование приемника в потоке данных для сопоставления.

Преобразование источника

При преобразовании источника можно выполнять чтение из контейнера, папки или отдельного файла в Azure Data Lake Storage 1-го поколения. Настройки управления чтением файлов находятся на вкладке Параметры источника.

Путь с подстановочными знаками. Использование шаблона с подстановочными знаками позволяет указать службе, что необходимо перебрать каждую соответствующую папку и файл в одном преобразовании источника. Это эффективный способ обработки нескольких файлов в одном потоке. Добавьте несколько шаблонов сопоставления с подстановочными знаками с помощью значка плюса ("+"), который появляется при наведении указателя мыши на существующий шаблон с подстановочными знаками.

В исходном контейнере выберите файлы, соответствующие шаблону. В наборе данных можно указать только контейнер. Путь с подстановочными знаками должен также включать путь к папке из корневой папки.

Примеры подстановочных знаков:

* — представляет любой набор символов;

** — представляет рекурсивную вложенность каталога;

? — заменяет один символ;

[] — соответствует одному или нескольким символам в квадратных скобках;

/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), то верхний уровень этого дерева секционированной папки можно назначить в качестве имени столбца в потоке данных.

Во-первых, задайте подстановочный знак, чтобы включить все пути, которые являются в секционированных папках, а также конечные файлы, которые вы хотите прочитать.

Для определения верхнего уровня структуры папок используйте параметр "Корневой путь раздела". При просмотре содержимого данных с помощью предварительного просмотра данных вы увидите, что служба добавит разрешенные секции, найденные на каждом уровне папок.

Список файлов. Это набор файлов. Создайте текстовый файл, который включает список относительных путей файлов для обработки. Укажите на этот текстовый файл.

Столбец для хранения имени файла. Сохраните имя исходного файла в столбце данных. Укажите здесь новое имя столбца для хранения строки имени файла.

После завершения. Укажите, что делать после завершения: ничего не делать с исходным файлом после выполнения потока данных, удалить или переместить исходные файлы. Пути для перемещения являются относительными.

Чтобы переместить исходные файлы в другое расположение после обработки, сначала выберите "Переместить" для операции с файлом. Затем задайте исходный каталог. Если вы не используете подстановочные знаки в пути, исходным каталогом будет та же папка, что и исходная папка.

Если у вас есть исходный путь с подстановочным знаком, синтаксис будет выглядеть следующим образом.

В качестве исходной папки можно указать

В качестве целевой папки можно указать

В этом случае все файлы, источником которых является папка /data/sales, перемещаются в папку /backup/priorSales.

Операции с файлами выполняются только в том случае, если поток данных выполняется из запуска конвейера (отладка конвейера или запуск выполнения) с использованием действия выполнения потока данных в конвейере. Операции с файлами не выполняются в режиме отладки потока данных.

Фильтровать по дате последнего изменения. Вы можете отфильтровать обрабатываемые файлы, указав диапазон дат последнего изменения. Все значения даты и времени указаны в формате UTC.

Включить систему отслеживания измененных данных: если здесь указано значение true, будут получены новые или измененные файлы только с момента последнего запуска. При первом запуске всегда выполняется начальная загрузка данных, то есть получается полный моментальный снимок, а при следующих запусках записываются только новые или измененные файлы. Дополнительные сведения см. в разделе Отслеживание измененных данных.

Свойства приемника

В преобразовании приемника можно выполнять запись в контейнер или папку в хранилище Azure Data Lake Storage 1-го поколения. Настройки управления записью файлов находятся на вкладке Параметры.

Очистить папку. Определяет, следует ли удалять конечную папку перед записью данных.

Параметр имени файла. Определяет способ присвоения имени целевым файлам в папке назначения. Доступные параметры имени файла:

  • По умолчанию: разрешить Spark присваивать имена файлам на основе значений по умолчанию PART.
  • Шаблон: введите шаблон, в котором перечислены выходные файлы для каждого раздела. Например, при использовании шаблона loans[n].csv будут создаваться файлы loans1.csv, loans2.csv и т. д.
  • На один раздел: введите имя файла для одного раздела.
  • Как данные в столбце: задайте для выходного файла значение столбца. Путь задается относительно контейнера набора данных, а не папки назначения. Если в наборе данных имеется путь к папке, он будет переопределен.
  • Вывод в один файл: объединение секционированных выходных файлов в один именованный файл. Путь задается относительно папки набора данных. Имейте в виду, что операция слияния может завершиться сбоем в зависимости от размера узла. Этот параметр не рекомендуется использовать для больших наборов данных.

Все в кавычках: указывает, следует ли заключать все значения в кавычки

Свойства действия поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Свойства действия GetMetadata

Подробные сведения об этих свойствах см. в разделе Действие GetMetadata

Свойства действия удаления

Подробные сведения об этих свойствах см. в разделе Действие удаления

Устаревшие модели

Следующие модели по-прежнему поддерживаются на условиях "как есть" для обеспечения обратной совместимости. В дальнейшем рекомендуется использовать новую модель, упомянутую в разделах выше. Пользовательский интерфейс разработки был изменен для создания новой модели.

Устаревшая модель набора данных

Свойство Описание Обязательно type Свойство type для набора данных должно иметь значение AzureDataLakeStoreFile. Да folderPath Путь к папке в Data Lake Store. Если это свойство не указано, будет использоваться корневая папка.

Фильтр подстановочных знаков не поддерживается. Допустимые подстановочные знаки: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу). Используйте ^ для экранирования знаков, если фактическое имя папки содержит подстановочный знак или этот escape-символ.

Допустимые подстановочные знаки для фильтра: * (соответствует нулю или нескольким символам) и ? (соответствует нулю или одному символу).Пример 1. "fileName": "*.csv" Пример 2. "fileName": ". 20180427.txt" Используйте ^ для экранирования символов, если фактическое имя файла содержит подстановочный знак или этот escape-символ.

Включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных.

Включение этого параметра в случае, если требуется использовать фильтр файлов с огромными объемами файлов, влияет на общую производительность перемещения данных.

Чтобы скопировать все файлы в папке, укажите только folderPath.Чтобы скопировать один файл с определенным именем, укажите folderPath с частью папки и fileName с именем файла.Чтобы скопировать подмножество файлов в папке, укажите folderPath с частью папки и fileName с фильтром подстановочных знаков.

Пример.

Устаревшая модель источника действия копирования Свойство Описание Обязательно type Свойство type источника действия копирования должно иметь значение AzureDataLakeStoreSource. Да recursive Указывает, следует ли читать данные рекурсивно из вложенных папок или только из указанной папки. Ели свойству recursive задано значение true, а приемником является файловое хранилище, пустые папки и вложенные папки не создаются в приемнике. Допустимые значения: true (по умолчанию) и false. Нет maxConcurrentConnections Верхний предел одновременных подключений, установленных для хранилища данных при выполнении действия. Указывайте значение только при необходимости ограничить количество одновременных подключений. Нет

Пример.

Устаревшая модель приемника действия копирования

Свойство Описание Обязательно type Свойство type приемника действия копирования должно иметь значение AzureDataLakeStoreSink. Да copyBehavior Определяет поведение копирования, когда источником являются файлы из файлового хранилища данных.

Пример.

Отслеживание измененных данных (предварительная версия)

Фабрика данных Azure может получать новые или измененные файлы только из Azure Data Lake Storage 1-го поколения, если включен параметр Включить отслеживание измененных данных (предварительная версия) в преобразовании источника потока данных для сопоставления. Этот параметр соединителя позволяет считывать только новые или обновленные файлы и применять преобразования перед загрузкой преобразованных данных в нужные целевые наборы.

Ни в коем случае не изменяйте имена конвейера и действия, чтобы контрольная точка последнего запуска всегда была доступна для анализа и получения изменений. Если вы измените имя конвейера или действия, контрольная точка будет сброшена и следующий запуск начнет весь процесс с начала.

При отладке конвейера также можно использовать параметр Enable change data capture (Preview) (Включение отслеживания измененных данных (предварительная версия)). Имейте в виду, что при обновлении страницы в браузере во время отладки контрольная точка будет сброшена. Когда вы будете довольны результатами отладки, можно будет опубликовать и запустить конвейер. Выполнение всегда начинается с начала, даже если при запуске отладки была создана контрольная точка.

Вы всегда можете повторно запустить конвейер из раздела мониторинга. Этот процесс всегда извлекает изменения с момента контрольной точки, записанной в выбранном запуске конвейера.

Дальнейшие действия

Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.

📎📎📎📎📎📎📎📎📎📎