Копирование данных из SAP Business Warehouse с помощью Фабрики данных Azure или Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье показано, как использовать конвейеры Фабрики данных Azure или Synapse Analytics для копирования данных из SAP Business Warehouse (BW) в Azure Data Lake Storage 2-го поколения через Open Hub. Аналогичную процедуру можно использовать для копирования данных в другие поддерживаемые хранилища данных-приемники.
Совет
Общие сведения о копировании данных из SAP BW, включая интеграцию c SAP BW Open Hub и поток извлечения изменений, см. в статье Копирование данных из SAP Business Warehouse через Open Hub с помощью Фабрики данных Azure.
Необходимые компоненты
Фабрика данных Azure или Рабочая область Synapse. Если у вас ее нет, выполните инструкции для создания фабрики данных или рабочей области Synapse.
Назначение SAP BW Open Hub (OHD) с типом назначения "Таблица базы данных". Чтобы создать OHD или проверить правильность настройки OHD для интеграции со службой, см. раздел Конфигурации назначения SAP BW Open Hub этой статьи.
Пользователь SAP BW должен иметь следующие разрешения:
- авторизация для удаленных вызовов функций (RFC) и SAP BW;
- разрешения на действие "Выполнить" для объекта авторизации S_SDSAUTH.
Локальная среда выполнения интеграции (IR) с соединителем SAP .NET 3.0. Выполните следующие действия по установке:
Установите и зарегистрируйте локальную среду выполнения интеграции версии 3.13 или более поздней. (Этот процесс описан далее в этой статье.)
Загрузите 64-разрядную версию соединителя SAP для Microsoft .NET 3.0 с веб-сайта SAP и установите ее на том же компьютере, что и локальную среду IR. Во время установки убедитесь, что в окне Необязательные шаги установки выбран параметр Установить сборки в глобальный кэш сборок, как показано на следующем рисунке.
Полное копирование из SAP BW Open Hub
Найдите свою службу на портале Azure. Нажмите кнопку Открыть на плитке Открыть Azure Data Factory Studio или Открыть Synapse Studio, чтобы запустить пользовательский интерфейс службы на отдельной вкладке.
На домашней странице выберите команду Принять, чтобы запустить средство копирования данных.
На странице Свойства в разделе Тип задачи выберите Встроенная задача копирования. Затем в разделе Периодичность или расписание задач выберите Запустить сейчас один раз, после чего щелкните Далее.
На странице Исходное хранилище данных нажмите кнопку + Создать новое подключение. В коллекции соединителей выберите SAP BW Open Hub и нажмите кнопку Continue (Продолжить). Чтобы отфильтровать соединители, можете ввести в поле поиска слово SAP.
На странице New connection (SAP BW Open Hub) (Создание подключения SAP BW Open Hub) выполните указанные ниже действия, чтобы создать новое подключение.
В списке Connect via integration runtime (Подключить через среду выполнения интеграции) выберите существующую локальную среду IR. Если у вас такой среды нет, ее модно создать.
Чтобы создать локальную среду IR, выберите +New (+ Создать), а затем — Self-hosted (Локальная). Заполните поле Name (Имя) и нажмите кнопку Next (Далее). Выберите вариант Express setup (Экспресс-установка), чтобы выполнить установку на текущем компьютере, или Manual setup (Ручная установка), чтобы выполнить установку вручную.
Как упоминалось в разделе Предварительные требования, убедитесь, что соединитель SAP для Microsoft .NET 3.0 установлен на том же компьютере, что и локальная среда IR.
Заполните поля Server name (Имя сервера), System number (Номер системы), Client ID (ИД клиента), Language (Язык) (если значение отлично от EN), User name (Имя пользователя) и Password (Пароль) для SAP BW.
Нажмите кнопку Test connection (Проверить подключение), чтобы проверить параметры, а затем Create (Создать).
На странице Source data store (Исходное хранилище данных) выберите только что созданное подключение в блоке Connection (Подключение).
В разделе выбора назначений Open Hub просмотрите назначения Open Hub, доступные в SAP BW. Чтобы просмотреть данные для каждого места назначения, нажмите кнопку "Предварительный просмотр" в конце соответствующей строки. Выберите назначение Open Hub (OHD), из которого нужно скопировать данные, и нажмите кнопку Next (Далее).
Укажите фильтр, если требуется. Если OHD содержит данные только из одного выполнения процесса передачи данных (DTP) с одним идентификатором запроса или если вы уверены, что DTP завершен и хотите скопировать данные, снимите флажок Exclude Last Request (Исключить последний запрос) в разделе Advanced (Дополнительно). Чтобы просмотреть данные, нажмите кнопку Preview data (Предварительный просмотр данных).
Дополнительные сведения об этих параметрах см. в разделе Конфигурации назначения SAP BW Open Hub этой статьи. Затем выберите Далее.
На странице Целевое хранилище данных выберите + Создать подключение>Azure Data Lake Storage 2-го поколения>Продолжить.
На странице New connection (Azure Data Lake Storage Gen2) (Создание подключения к Azure Data Lake Storage 2-го поколения) выполните указанные ниже действия, чтобы создать подключение.
- В раскрывающемся списке Name (Имя) выберите учетную запись с поддержкой Azure Data Lake Storage 2-го поколения.
- Выберите Создать, чтобы создать подключение.
На странице Destination data store (Целевое хранилище данных) выберите только что созданное соединение в разделе Connection (Соединение) и введите copyfromopenhub в качестве имени выходной папки. Затем выберите Далее.
На странице File format settings (Параметры формата файла) нажмите кнопку Next (Далее), чтобы использовать параметр по умолчанию.
На странице Параметры заполните поле Имя задачи, а затем разверните элемент Дополнительно. Введите значение в поле Degree of copy parallelism (Степень параллелизма копирования), например 5, чтобы загрузка данных из SAP BW выполнялась параллельно. Затем выберите Далее.
Проверьте параметры на странице Сводка . Затем выберите Далее.
На странице Deployment (Развертывание) нажмите кнопку Monitor (Отслеживать), чтобы отслеживать конвейер.
Обратите внимание, что слева на странице будет автоматически выбрана вкладка Monitor (Мониторинг). Ссылки в столбце Pipeline name (Имя конвейера) на странице Pipeline runs (Выполнения конвейеров) позволяют просмотреть подробные сведения о действиях и повторно запустить конвейер.
Чтобы просмотреть сведения о выполнении действий, связанных с выполнением конвейера, выберите ссылку в столбце Pipeline name (Имя конвейера). В этом конвейере определено только одно действие (действие копирования), поэтому вы увидите только одну запись. Чтобы вернуться к представлению "Запуски конвейера", выберите ссылку All pipeline runs (Все выполнения конвейеров) в верхней части окна. Щелкните Обновить, чтобы обновить список.
Чтобы отслеживать сведения о выполнении каждого действия копирования, щелкните ссылку Details (Сведения) (изображение очков) в соответствующей строке каждого действия копирования в представлении мониторинга действий. Доступны следующие сведения: объем данных, скопированных из источник в приемник, пропускная способность данных, шаги выполнения и длительность, а также использованные конфигурации.
Чтобы просмотреть максимальный идентификатор запроса для каждого действия копирования, вернитесь в представление мониторинга действий и щелкните значок Output (Выходные данные) в соответствующей строке каждого действия копирования.
Добавочное копирование из SAP BW Open Hub
Совет
Сведения о том, как соединитель SAP BW Open Hub копирует добавочные данные из SAP BW, см. в разделе Поток разностного извлечения соединителя SAP BW Open Hub. Эта статья также поможет вам разобраться с базовой настройкой соединителя.
Теперь продолжим настройку добавочного копирования из SAP BW Open Hub.
Добавочное копирование использует механизм "верхнего предела", основанный на идентификаторе запроса. Этот идентификатор автоматически создается в месте назначения SAP BW Open Hub процессом перемещения данных (DTP). Этот рабочий процесс показан на схеме ниже.
На домашней странице выберите Pipeline templates (Шаблоны конвейеров) в разделе Discover more (Подробнее), чтобы использовать встроенный шаблон.
Найдите SAP BW, чтобы найти и выбрать шаблон Incremental copy from SAP BW to Azure Data Lake Storage Gen2 (Добавочное копирование из SAP BW в Azure Data Lake Storage 2-го поколения). Этот шаблон копирует данные в Azure Data Lake Storage 2-го поколения. Аналогичный рабочий процесс можно использовать для копирования данных в другие типы приемников.
На главной странице шаблона выберите или создайте следующие три подключения, а затем нажмите кнопку Use this template (Использовать этот шаблон) в правом нижнем углу окна.
- Хранилище BLOB-объектов Azure. В этом пошаговом руководстве мы используем хранилище BLOB-объектов Azure для хранения верхнего предела, которым является максимальный скопированный идентификатор запроса.
- SAP BW Open Hub. Это источник, из которого копируются данные. Для получения подробных сведений о настройке см. предыдущее пошаговое руководство по полному копированию.
- Azure Data Lake Storage 2-го поколения. Это приемник, в который копируются данные. Для получения подробных сведений о настройке см. предыдущее пошаговое руководство по полному копированию.
Этот шаблон создает конвейер со следующими тремя действиями и делает их цепочкой в случае успеха: Lookup, Copy Data и Web.
Перейдите на вкладку Parameters (Параметры) с параметрами конвейера. Вы увидите все параметры, которые необходимо задать.
SAPOpenHubDestinationName. Укажите имя таблицы Open Hub, из которой копируются данные.
Data_Destination_Container. Укажите контейнер назначения Azure Data Lake Storage 2-го поколения, в который копируются данные. Если контейнер не существует, действие копирования создаст его во время выполнения.
Data_Destination_Directory. Укажите путь к папке в контейнере Azure Data Lake Storage 2-го поколения для копирования данных. Если путь не существует, действие копирования создаст его во время выполнения.
HighWatermarkBlobContainer. Укажите контейнер для хранения значения верхнего предела.
HighWatermarkBlobDirectory. Укажите путь к папке в контейнере для хранения значения верхнего предела.
HighWatermarkBlobName. Укажите имя BLOB-объекта для хранения значения верхнего предела, например
requestIdCache.txt
. В хранилище BLOB-объектов перейдите по соответствующему пути КонтейнерBLOBобъектаВерхнегоПредела+КаталогBLOBобъектаВерхнегоПредела+ИмяBLOBобъектаВерхнегоПредела, например container/path/requestIdCache.txt. Создайте BLOB-объект с содержимым 0.LogicAppURL. В этом шаблоне мы используем веб-действие для вызова Azure Logic Apps, чтобы задать значение верхнего предела в хранилище BLOB-объектов. Для его хранения также можно использовать Базу данных SQL Azure. Чтобы обновить значение, используйте действие хранимой процедуры.
Сначала создайте приложение логики, как показано на следующем рисунке. Затем вставьте значение в поле HTTP POST URL (URL-адрес HTTP POST).
Перейдите на портал Azure. Выберите новую службу Logic Apps. Выберите + Пустое приложение логики, чтобы открыть Конструктор Logic Apps.
Создайте триггер При получении HTTP-запроса. Укажите текст HTTP-запроса следующим образом:
{ "properties": { "sapOpenHubMaxRequestId": { "type": "string" } }, "type": "object" }
Добавьте действие Создать BLOB-объект. В полях Путь к папке и Имя BLOB-объекта используйте те же значения, которые вы ранее настроили для параметров КонтейнерBLOBобъектаВерхнегоПредела+КаталогBLOBобъектаВерхнегоПредела и ИмяBLOBобъектаВерхнегоПредела.
Выберите Сохранить. Затем скопируйте значение поля HTTP POST URL (URL-адреса HTTP POST), чтобы использовать его в конвейере.
После ввода параметров конвейера выберите Отладка>Завершить, чтобы вызвать выполнение для проверки конфигурации. Или нажмите кнопку Опубликовать, чтобы опубликовать все изменения, а затем Добавить триггер, чтобы запустить выполнение.
Конфигурации назначения SAP BW Open Hub
В этом разделе описывается настройка SAP BW для использования соединителя SAP BW Open Hub для копирования данных.
Настройка извлечения изменений в SAP BW
Если вам требуются исторические и добавочные копии или только добавочные копии, настройте разностное извлечение в SAP BW.
Создайте назначение Open Hub. Вы можете создать OHD в SAP Transaction RSA1. При этом автоматически создадутся необходимые преобразование и процесс передачи данных. Используйте следующие параметры:
- ObjectType (Тип объекта). Можно использовать любой тип объекта. В качестве примера используется InfoCube.
- Destination Type (Тип назначения). Выберите Database Table (Таблица базы данных).
- Key of the Table (Ключ таблицы). Выберите Technical Key (Технический ключ).
- Extraction (Извлечение). Выберите Keep Data and Insert Records into Table (Сохранить данные и вставить записи в таблицу).
Можно увеличить число параллельно выполняющихся рабочих процессов SAP для DTP.
Запланируйте DTP в цепочках процессов.
Разностный DTP для куба работает только в том случае, если необходимые строки не были сжаты. Убедитесь, что сжатие куба BW не запущено, прежде чем выполнять DTP в таблицу Open Hub. Самый простой способ сделать это — интегрировать DTP в существующие цепочки процессов. В следующем примере DTP (в OHD) вставляется в цепочку процессов между шагами Adjust (статистическая свертка) и Collapse (сжатие куба).
Настройка полного извлечения в SAP BW
Помимо разностного извлечения может потребоваться полное извлечение того же SAP BW InfoProvider. Обычно это применимо, если требуется выполнить полное копирование, а не добавочное, или повторную синхронизацию разностного извлечения.
Для одного OHD не может быть больше одного DTP. Поэтому перед разностным извлечением необходимо создать дополнительное OHD.
Для OHD полной загрузки выберите другие параметры, чем для разностного извлечения.
В OHD: задайте для параметра Extraction (Извлечение) значение Delete Data and Insert Records (Удалить данные и вставить записи). В противном случае данные будут многократно извлекаться при повторении DTP в цепочке процессов BW.
В DTP: задайте для параметра Extraction Mode (Режим извлечения) значение Full (Полное). Для автоматически созданного DTP необходимо изменить значение с Delta (Разностное) на Full (Полное) сразу после создания OHD, как показано на следующем рисунке.
В соединителе BW Open Hub: отключите параметр Exclude last request (Исключить последний запрос). В противном случае данные не будут извлечены.
Обычно полный DTP выполняется вручную. Также можно создать цепочку процессов для полного DTP. Обычно это отдельная цепочка, не зависящая от существующих цепочек процессов. В любом случае убедитесь, что DTP завершен, прежде чем начать извлечение с помощью копирования. В противном случае будут скопированы только частичные данные.
Первый запуск разностного извлечения
Первое разностное извлечение технически является полным извлечением. По умолчанию соединитель SAP BW Open Hub исключает последний запрос при копировании данных. При первом разностном извлечении действие копирования не извлекает данные до тех пор, пока последующий DTP не создаст в таблице разностные данные с отдельным идентификатором запроса. Этого можно избежать двумя способами.
- Отключите параметр Exclude last request (Исключить последний запрос) для первого разностного извлечения. Убедитесь, что первый разностный DTP завершен, прежде чем начать разностное извлечение в первый раз.
- Используйте процедуру для повторной синхронизации разностного извлечения, как описано в следующем разделе.
Повторная синхронизация разностного извлечения
Следующие сценарии изменяют данные в кубах SAP BW, но не учитываются разностным DTP:
- выборочное удаление SAP BW (для строк с использованием любого условия фильтра);
- удаление запросов SAP BW (для запросов с ошибками).
Назначение SAP Open Hub не является целевым объектом данных, управляемым киоском данных (во всех пакетах поддержки SAP BW с 2015 г.). Таким образом, можно удалить данные из куба, не изменяя данные в OHD. Затем необходимо повторно синхронизировать данные куба со службой:
- Выполните полное извлечение в службе (используя полный DTP в SAP).
- Удалите все строки в таблице Open Hub для разностного DTP.
- Задайте для состояния разностного DTP значение Fetched (Получено).
После этого все последующие разностные DTP и разностные извлечения будут работать должным образом.
Чтобы задать для состояния разностного DTP значение Fetched (Получено), можно использовать следующий параметр для выполнения разностного DTP вручную:
No Data Transfer; Delta Status in Source: Fetched (Без передачи данных; Состояние разности в источнике: получено)
Связанный контент
Узнайте о поддержке соединителя SAP BW Open Hub: